2013-08-21 129 views
0

我試圖連接到SQL Server 2008中使用以下命令:的Linux - bsqldb登錄失敗

bsqldb -S something.example.com -D databasename 

它返回:

Msg 18456, Level 14, State 1 
Server 'SOMETHING', Line 1 
     Login failed for user ''. 
bsqldb: Msg 20018, Level 5 
General SQL Server error: Check messages from the SQL Server. 

bsqldb: Msg 20014, Level 9 
Login incorrect. 

bsqldb: bsqldb.c:169: main: Assertion `dbproc != ((void *)0)' failed. 
Aborted 

不打算連接到SQL Server 2008 bsqldb ?我如何解釋這個錯誤信息?

回答

0

看起來它試圖使用Windows身份驗證進行連接,但不能。 According to the manual,你也可以指定一個SQL驗證用戶名:

bsqldb -S something.example.com -D databasename -U username -P password 
+0

我沒有該數據庫的用戶名/密碼。我之前在python中訪問過這個數據庫,它不需要用戶名/密碼。我在Windows上使用pyodbc:'cnxn = pyodbc.connect(「DRIVER = {SQL Server};」 +「SERVER = something.example.com;」 +「DATABASE = databasename;」)''。任何方式來反映在這裏與bsqldb? – SheerSt

+0

我對'bsqldb'沒有任何經驗,我只是從他們的文檔中去找。您是否嘗試以管理員身份運行該程序?你確定你是以你登錄的同一個Windows用戶登錄嗎?你說它在「之前」工作 - 它現在在python中工作嗎?有什麼改變嗎? –

+0

感謝您想要更多的細節。做一個'sudo bsqldb -S something.example.com -D databasename'不會改變輸出 - 它仍然會返回一個錯誤。是的,我在linux中以與windows相同的用戶身份登錄。是的,它現在在Python中起作用,沒有任何改變。我只是無法使用bsqldb在Bash中工作。另外,有關更多信息 - 我有一個bash腳本示例,其中bsqldb命令成功。它連接到不同的服務器而不是something.example.com,它使用-U -P。 – SheerSt

0

當我正確使用-i參數中提到的輸入文件名,此問題已得到解決我。

錯誤消息表明它沒有找到要執行的任何內容,但沒有明確指出問題所在。