2013-06-02 41 views
9

Tôi đang cố gắng kết nối với cơ sở dữ liệu Microsoft SQL Server bằng gói cơ sở dữ liệu/sql cho golang.Trình điều khiển Golang MSSQL cho Windows7 64-bit

Không có trình điều khiển dành riêng cho MSSQL được liệt kê tại https://code.google.com/p/go-wiki/wiki/SQLDrivers, vì vậy tôi nghĩ tôi sẽ thử một trình điều khiển odbc.

Tôi đã thử https://github.com/weigj/go-odbc nhưng khi tôi chạy go install Tôi nhận được cc1.exe: sorry, unimplemented: 64-bit mode not compiled in. Điều này được liệt kê như là một vấn đề mở trong repo github.

Có ai có kinh nghiệm kết nối với cơ sở dữ liệu MSSQL từ máy khách Windows 7 64 bit không? Trình điều khiển odbc nào được khuyến nghị?

+1

https://code.google.com/p/odbc – alex

+0

Alex, bạn có thể cung cấp ví dụ về cuộc gọi sql.Open() bằng trình điều khiển đó không? Có cần thiết phải sử dụng DSN hoặc có thể chỉ định chuỗi kết nối không? Cảm ơn. – slachterman

+1

https://code.google.com/p/odbc/source/browse/mssql_test.go#56 – alex

Trả lời

7

Hãy thử sử dụng trình điều khiển ODBC này thay vào đó, tôi tin rằng nó được sử dụng rộng rãi hơn: https://code.google.com/p/odbc/

+0

Ngoài ra, tùy thuộc vào nền tảng của bạn, có thể cần phải sử dụng 'FreeTDS' trên' Bộ điều hợp SQL ODBC của Microsoft' cho các máy khách ODBC (cụ thể là không có cửa sổ). – Tracker1

9

Bây giờ, có một trình điều khiển cụ Microsoft SQL Server trong danh sách điều khiển cơ sở dữ liệu SQL database drivers trong github với một gói Go tinh khiết https://github.com/denisenkom/go-mssqldb

Bạn có thể thử trực tiếp go-mssqldb để kết nối trực tiếp mssql.

Các import có thể trông giống như:

import (
    "fmt" 
    "log" 
    "database/sql" 
    _ "github.com/denisenkom/go-mssqldb"  // the underscore indicates the package is used 
)  

các sql.Open() trông giống như:

// the user needs to be setup in SQL Server as an SQL Server user. 
// see create login and the create user SQL commands as well as the 
// SQL Server Management Studio documentation to turn on Hybrid Authentication 
// which allows both Windows Authentication and SQL Server Authentication. 
// also need to grant to the user the proper access permissions. 
// also need to enable TCP protocol in SQL Server Configuration Manager. 
condb, errdb := sql.Open("mssql", "server=localhost;user id=gouser;password=g0us3r;") 
if errdb != nil { 
    fmt.Println(" Error open db:", errdb.Error()) 
} 

defer condb.Close() 

và tôi đang sử dụng nó, nó là ok cho bây giờ.

+2

Trong khi liên kết này có thể trả lời câu hỏi, tốt hơn nên bao gồm các phần thiết yếu của câu trả lời ở đây và cung cấp liên kết để tham khảo. Câu trả lời chỉ liên kết có thể trở thành không hợp lệ nếu trang được liên kết thay đổi. – juliocesar

Các vấn đề liên quan