5

mssql management studio を使用してサーバーに接続できますが、python を使用して接続できません。接続文字列に問題があると思います。以下で使用している文字列を助けてください。

import pyodbc as p

connStr = ( r'DRIVER={SQL Server};Server=ip; Network=DBMSSOCN;Initial Catalog=' + database + ';User ID=' + id +';Password=' + pass1 +';Trusted_Connection=True' +';')

conn = p.connect(connStr)

エラーは以下のようなものです

 conn = p.connect(connStr)
pyodbc.Error: ('08001', '[08001] [Microsoft][ODBC SQL Server Driver][TCP/IP Sock
ets]SQL Server does not exist or access denied. (17) (SQLDriverConnectW); [01000
] [Microsoft][ODBC SQL Server Driver][TCP/IP Sockets]ConnectionOpen (Connect()).
 (10060); [01S00] [Microsoft][ODBC SQL Server Driver]Invalid connection string a
ttribute (0)')
4

2 に答える 2

7

多くのトレイルとエラーの後、この文字列は機能しました:

connStr = ('DRIVER={SQL Server Native Client 10.0};Server=ip;port=port;Network Library=DBMSSOCN;Database=TEST;uid=id;pwd=pass;')
于 2011-01-11T08:32:26.143 に答える
3

実際には、Microsoft によって作成および配布された 2 つまたは 3 つの SQL Server ドライバーがあります。1 つは "SQL Server" と呼ばれ、もう 1 つは "SQL Native Client" および "SQL Server Native Client 10.0}" と呼ばれます。

DRIVER ={SQL Server};SERVER=cloak;DATABASE=テスト;UID=ユーザー;PWD=パスワード

DRIVER ={SQL Native Client};SERVER=dagger;DATABASE=テスト;UID=ユーザー;PWD=パスワード

DRIVER ={SQL Server Native Client 10.0};SERVER=短剣;データベース=テスト;UID=ユーザー;PWD=パスワード

「SQL Server」は SQL Server のすべてのバージョンで機能しますが、実際のサーバーのバージョンに関係なく、SQL Server 2000 でサポートされている機能とデータ型のみを有効にします。

SQL Server 2005 のインストールでは、「SQL Native Client」を使用して 2005 の機能とタイプを有効にします。このバージョンは、すべての SQL Server 2008 インストールで提供されているわけではないことに注意してください。

最後に、SQL Server 2008 の機能と種類には「SQL Server Native Client 10.0」が必要です。

于 2011-08-18T15:48:16.337 に答える