使用sql.Open

时间:2015-05-25 16:31:29

标签: database go sqlite

我是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 个答案:

答案 0 :(得分:1)

对于没有用户名或密码的情况,只需放入DB的完整路径,包括文件名。

例如:

db, err := sql.Open("sqlite3", "/user/home/workspace/myDBname.db")