我是golang的新手,我很难连接到本地计算机上托管的SQLite3数据库。我已经创建了SQLite3数据库并且已经完成了一些我喜欢的教程,但它们没有用。目前我的代码基于另一个post,但我仍无法与我的数据库建立连接。我相信我的问题在于我使用了" sql.Open"因为即使在咨询the sql package之后我还不清楚我需要提供的信息。
代码构建正常但报告
unable to open database file
error Two tripped
当我尝试运行下面的代码时
package main
import (
"database/sql"
"fmt"
_ "github.com/go-sql-driver/mysql"
_"github.com/mattn/go-sqlite3"
)
func main() {
db, err := sql.Open("sqlite3", "myuser:mypassword@/myDBname") //not clear on what is needed for the user and password
if err != nil {
fmt.Println(err)
fmt.Println("error one tripped")
return
}
defer db.Close()
err = db.Ping()
if err != nil {
fmt.Println(err)
fmt.Println("error Two tripped")
return
}
fmt.Println("Ping")
return
}

我没有为我正在使用的数据库设置用户名或密码,该数据库托管在本地计算机上。我在" sql.Open"中尝试了几种我的计算机用户名/密码和没有用户名/密码的组合。但我仍有同样的问题。
我已安装并导入了包code.google.com/p/go-sqlite/go1/sqlite3 我的数据库与我的Go代码位于同一个文件夹中。
如何使用连接到SQLite数据库?我用sql.Open命令做错了什么?
答案 0 :(得分:1)
对于没有用户名或密码的情况,只需放入DB的完整路径,包括文件名。
例如:
db, err := sql.Open("sqlite3", "/user/home/workspace/myDBname.db")