import pyodbc
connection = pyodbc.connect('Driver = {SQL Server};Server=SIWSQL43A\SIMSSPROD43A;'
'Database=CSM_reporting;Trusted_Connection=yes;')
connection = pyodbc.connect( 'Driver = {SQL Server}; Server = SIWSQL43A\SIMSSPROD43A;' pyodbc.Error:( 'IM002'、 '[IM002] [Microsoft] [ODBC Driver Manager]データソース名が見つからず、デフォルトもありません指定されたドライバー(0)(SQLDriverConnect) ')
接続文字列のDriver
キーワードの後にスペースを入れないでください。
これはWindowsでは失敗します...
conn_str = (
r'DRIVER = {SQL Server};'
r'SERVER=(local)\SQLEXPRESS;'
r'DATABASE=myDb;'
r'Trusted_Connection=yes;'
)
cnxn = pyodbc.connect(conn_str)
...しかし、これは動作します:
conn_str = (
r'DRIVER={SQL Server};'
r'SERVER=(local)\SQLEXPRESS;'
r'DATABASE=myDb;'
r'Trusted_Connection=yes;'
)
cnxn = pyodbc.connect(conn_str)
私は同じ問題に出会い、以下のように接続文字列を変更して修正しました。書く
'DRIVER={ODBC Driver 13 for SQL Server}'
の代わりに
'DRIVER={SQL Server}'
あなたは試すことができます:
import pyodbc
# Using a DSN
cnxn = pyodbc.connect('DSN=odbc_datasource_name;UID=db_user_id;PWD=db_password')
注:「odbc_datasource_name」を知っている必要があります。 Windowsでは、ODBC Data Sourcesを検索できます。名前は次のようになります。
私はこの問題に直面し、解決策を探していました。最後に、 https://github.com/mkleehammer/pyodbc/wiki/Connecting-to-SQL-Server-from-Windows からすべてのオプションを試しましたが、MSSQL 12の場合は「{ ODBCドライバー11 for SQL Server}」が動作します。ひとつずつ試してみてください。そして、2番目に重要なことは、すべての場合に\ SQLEXPRESSを設定する必要があると考えていたが、サーバープロパティで表示されるものを正確に設定する必要があることがわかったためです。スクリーンショットの例:
以下を試してください:
import pyodbc
server = 'servername'
database = 'DB'
username = 'UserName'
password = 'Password'
cnxn = pyodbc.connect('DRIVER={ODBC Driver 13 for SQL Server};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+ password)
cursor = cnxn.cursor()
cursor.execute('SELECT * FROM Tbl')
for row in cursor:
print('row = %r' % (row,))
私は使っています
ジャンゴ2.2
sql-server 2012への接続中に同じエラーが発生しました。この問題を解決するために多くの時間を費やし、最終的にこれは機能しました。
私が変更され
'driver': 'SQL Server用ODBCドライバー13'
に
「ドライバー」:「SQL Server Native Client 11.0」
そしてそれは働いた。
以下の接続文字列が機能しています
import pandas as pd
import pyodbc as odbc
sql_conn = odbc.connect('DRIVER={ODBC Driver 13 for SQL Server};SERVER=SERVER_NAME;DATABASE=DATABASE_NAME;UID=USERNAME;PWD=PASSWORD;')
query = "SELECT * FROM admin.TABLE_NAME"
df = pd.read_sql(query, sql_conn)
df.head()
エラーの場合:pyodbc.InterfaceError:( 'IM002'、 '[IM002] [Microsoft] [ODBC Driver Manager]データソース名が見つからず、デフォルトドライバーが指定されていない(0)(SQLDriverConnect)'
ドライバーとイベントの間にスペースがない
接続= Driver={SQL Server Native Client 11.0};
"Server=servername;"
"Database=dbname;"
"Trusted_Connection=yes;"