8

SQLServerデータベースに接続するようにFreeTDSをセットアップしました。Mac(ライオン)のターミナルでTSQLを開こうとすると、次のエラーが発生します。

locale is "en_US.UTF-8"
locale charset is "UTF-8"
using default charset "UTF-8"
Error 20017 (severity 9):
    Unexpected EOF from the server
    OS error 36, "Operation now in progress"
Error 20002 (severity 9):
    Adaptive Server connection failed
There was a problem connecting to the server

誰かがこれを引き起こしている可能性がある手がかりを持っていますか?

4

6 に答える 6

11

私はそれを手に入れたと思います、それはTDS構成バージョンです、私は5.0を持っていました、それはエラーを引き起こしました

実行して、使用しているバージョンを確認してください。その後、次のコマンドでバージョンのオーバーライドtsql -Cを呼び出すことができます。tsql

TDSVER=7.0 tsql -H hostname -p port -U domain\\\username -P password

そしてそれはうまくいきました!

于 2011-08-13T17:04:26.593 に答える
9

この永続的なものを作成するには、freetds.confファイルを編集して、そこにグローバルに設定する必要があることがわかりました。

vim /usr/local/freetds/etc/freetds.conf

tds version = 8.0

実行tsql -Cすると、バージョンは5.0であることが示されましたが、接続は毎回機能するようになりました。

于 2012-03-02T11:38:31.070 に答える
8

TDSバージョンは、dbサーバーに接続するために正しいtdsプロトコルと一致する必要があります。以下を参照してください-

http://www.freetds.org/userguide/choosingtdsprotocol.htm

TDSプロトコルバージョンの選択

***DB SERVER        |    TDS VERSION ***    
Microsoft SQL Server 6.x    = 4.2       
Sybase System 10 and above  = 5.0       
Sybase System SQL Anywhere  = 5.0     
Microsoft SQL Server 7.0    = 7.0       
Microsoft SQL Server 2000   = 7.1       
Microsoft SQL Server 2005   = 7.2   
Microsoft SQL Server 2008   = 7.2 
于 2012-08-16T23:03:29.430 に答える
2

(私にとって)libtdsodbc.soにシンボリックリンクもありません/usr/lib/odbc

sudo ln /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so libtdsodbc.so 

助けるべき

于 2012-11-06T09:12:53.183 に答える
1

私も同じ問題を抱えていました。私の状況では、MicrosoftSQLServerデータベースのユーザー名はの形式でしたDOMAIN\userid。ただし、コマンドラインで入力したときは、スラッシュをエスケープ文字として解釈していたと思います。スラッシュを反対方向に向けてみたところ、それでも失敗しました。最後に、元の方向に2つのスラッシュを入れてみましたが、うまくいきました。したがって、次のことが私のために働いた:

tsql -S myhost -U DOMAIN\\userid
于 2017-07-07T17:02:14.213 に答える
0

同じエラーが発生しました。それから私は次のことをしました、そしてエラーは消えました:

  1. pip install pyodbc
  2. 以前は、TSQLコマンドでDBサーバー、ユーザー名、およびpwdに引用符を使用していました。今回は引用符を削除しました
于 2019-04-19T16:48:37.330 に答える