2017-06-18 101 views
0

我想我Golang的應用程序連接到MSSQL 2014無法與Golang連接MSSQL 2014(不打開在MSSQL靜態端口)

我已經成功地使用 - https://github.com/denisenkom/go-mssqldb 對於這一點,我只用了啓用MSSQL的靜態端口&事情很好,我能夠獲取數據。

但是我想實現的是連接到MSSQL,而不需要在MSSQL上打開一個靜態端口,因爲我的PHP應用程序已經使用PDO執行此操作。

我也嘗試使用 - https://github.com/minus5/gofreetds 但無法在Windows上安裝FreeTDS。但即使在我看到某處設置MSSQL的端口,所以我停了下來。

我遇到的另一個golang pkg是 - https://github.com/alexbrainman/odbc 但由於缺少doc,我仍然卡住了。針對此包的單元測試失敗,稱用戶登錄失敗。但登錄信用正常。

有沒有人成功實現這一目標。

回答

0

對於數據庫端口#總是在那裏。默認或用戶定義。對於TCP/IP,MSSQL默認端口號爲1433,USD連接爲1434。如果您不提供驅動程序,則驅動程序已經使用默認端口號#denisenkom/go-msmsqldb

denisenkom/go-msmsqldb驅動程序支持連接字符串格式的三種方式(ADO,ODBC,URL)。選擇你的這裏記錄https://github.com/denisenkom/go-mssqldb#connection-parameters-and-dsn

+0

我的機器上MSSQL都禁用了1433和1434端口..但仍然PHP應用程序與MSSQL很好地工作。所以,我希望我能夠和Go一樣實現。 **在爲TCP/IP啓用1433後,denisenkom/go-msmsqldb ** pkg工作。無論如何,沒有港口就沒有可能。我無法理解我的PHP應用程序是如何工作的。任何的意見都將會有幫助。謝謝:) –

+0

這是我的PHP連接,即使沒有啓用端口也能正常工作。 '$這個 - > DB =新PDO( 'SQLSRV:服務器=' DATABASE_SERVER ';數據庫=' DATABASE_BNAME, DATABASE_LOGIN_NAME, DATABASE_PASSWORD );' –

+0

你能分享旅途中的連接字符串的格式和使用DATABASE_SERVER和DATABASE_BNAME的值是多少? – jeevatkm