使用 sql.Open 进行 SQLite3 数据库连接
Posted
技术标签:
【中文标题】使用 sql.Open 进行 SQLite3 数据库连接【英文标题】:Go SQLite3 database connection using sql.Open 【发布时间】:2015-05-25 16:31:28 【问题描述】:我是 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 命令我做错了什么?
【问题讨论】:
【参考方案1】:对于没有用户名或密码的情况,只需将包含文件名的数据库的完整路径放入即可。
例如:
db, err := sql.Open("sqlite3", "/user/home/workspace/myDBname.db")
【讨论】:
以上是关于使用 sql.Open 进行 SQLite3 数据库连接的主要内容,如果未能解决你的问题,请参考以下文章