私はgolangの学習を始めていますが、私のエラーが概念的であるか言語であるかはわかりません。golangでSQLiteデータベースを開くことができません: "データベースファイルを開けませんでした" - エラー
私のコードをユニットテストするときにエラーが発生するだけなので、それは特有です。もし私が "走ったら"すべてがうまくいく。 sqliteドライバとして私はmattn/go-sqlite3を使用します。問題が発生したのはここ
は次のとおりです。
func dbExec(command *string) {
db, err := sql.Open("sqlite3", dbPath) // Path and driver are set correcrtly
defer db.Close()
if err != nil { //No problem here
panic(err)
}
_, err = db.Exec(*command)
if err != nil { //Here the errorNo14 "Unable to open the database file" occurs
panic(err)
}
}
だから、データベースファイルを見つけることができることを、私には思えるが、それはので、他の制限を開くことはできません。私はすべてのコードで並行処理をしていません。これまでのテスト方法は1つしかなかったので、テストが並行して実行されても、今のところ1つのスレッドにしかなりません。多分誰かがアイデアを持っています!問題は基本的なように思えますが、実際には私のコードにそれほど多くはありません。
ありがとうございましたMarc!あなたのアイデアはまさに正しいものでした。私の道は相対的だった。ユニットテストを実行しているとき、main.goを実行しているときはパスは偽でした。もしあなたがそれを知っていれば、超簡単。 – achnichtsowichtig