gpt4 book ai didi

sql-server - 如何设置项目以使用 odbc 和 mssql 驱动程序?

转载 作者:IT王子 更新时间:2023-10-29 02:06:01 25 4
gpt4 key购买 nike

我正在尝试使用 odbc 驱动程序,但出现错误:

.\main.go:5: imported and not used: "code.google.com/p/odbc/api"  
.\main.go:72: undefined: Driver
.\main.go:76: undefined: Driver

我尝试使用另一个驱动程序:go get github.com/denisenkom/go-mssqldb 但遇到了相同类型的问题。
这就是为什么我怀疑我没有正确设置环境但无法找到问题的原因。


我的环境:

set GOARCH=amd64
set GOBIN=
set GOCHAR=6
set GOEXE=.exe
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOOS=windows
set GOPATH=C:\Go\Projects
set GORACE=
set GOROOT=C:\Go
set GOTOOLDIR=C:\Go\pkg\tool\windows_amd64
set TERM=dumb
set CC=gcc
set GOGCCFLAGS=-g -O2 -m64 -mthreads
set CXX=g++
set CGO_ENABLED=1

我使用 go get code.google.com/p/odbc
安装了 odbc运行测试,结果很好:
C:\Go\Projects\src\code.google.com\p\odbc>go test -mssrv=.\sqlexp -v -run=MS
...
--- 通过:TestMSSQLUTF16ToUTF8(0.00 秒)
=== 运行测试MSSQLExecStoredProcedure
--- 通过:TestMSSQLExecStoredProcedure(0.01 秒)
经过
好的 code.google.com/p/odbc 0.574s

我的代码: (从 mssql_test.go 复制):

package main  
import (
"code.google.com/p/odbc/api"
"database/sql"
"flag"
"fmt"
"os"
"runtime"
"testing"
"time"
)

func mssqlConnect() (db *sql.DB, stmtCount int, err error) {
.........
return db, db.Driver().(*Driver).Stats.StmtCount, nil
}
func closeDB(t *testing.T, db *sql.DB, shouldStmtCount, ignoreIfStmtCount int) {
s := db.Driver().(*Driver).Stats
......

最佳答案

.\main.go:5: imported and not used: "code.google.com/p/odbc/api"  
.\main.go:72: undefined: Driver
.\main.go:76: undefined: Driver

删除导入

    "code.google.com/p/odbc/api"

添加导入

    "code.google.com/p/odbc" 

*Driver 替换为 *odbc.Driver。例如,

    return db, db.Driver().(*odbc.Driver).Stats.StmtCount, nil

    s := db.Driver().(*odbc.Driver).Stats

./main.go:5: imported and not used: "github.com/denisenkom/go-mssqldb" as mssql

import 更改为

    _ "github.com/denisenkom/go-mssqldb"

例如,

package main

import (
"database/sql"
_ "github.com/denisenkom/go-mssqldb"
)

func main() {
conn, err := sql.Open("mssql", makeConnStr())
}

The Go Programming Language Specification

Import declarations

To import a package solely for its side-effects (initialization), use the blank identifier as explicit package name:

import _ "lib/math"

关于sql-server - 如何设置项目以使用 odbc 和 mssql 驱动程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24377250/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com