0

SQL データベース名を使用して SQL Server に接続できますが、私の要件は、データベースに接続せずに SQL サーバーに接続する必要があることです。

ポート番号、インスタンス名、データベース ユーザー/パスワード、IP アドレスなど、次の情報を入手できます。

私の現在のコマンドはこれです

engine_handle = create_engine('mssql+pyodbc://sa:pass@<IP address>/master', echo=False)

データベース名を指定したため、接続できるようになりました-マスターですが、データベース名を削除してインスタンス名を指定するか、そのままにしておくと。次のエラーが表示されます。

"エンジン = create_engine('mssql+pyodbc://sa:pass@IP アドレス', echo=True)"

return self.dbapi.connect(*cargs, **cparams) DBAPIError: (Error) ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnect)') None None

DB名ではなくインスタンス名で接続できればOKです。

どんな助けでも大歓迎です。

4

1 に答える 1

2

元の URL を使用してください。

engine_handle = create_engine('mssql+pyodbc://sa:pass@<IP address>/master', echo=False)

次にCREATE DATABASE、コマンドを発行したり、必要なその他の操作を実行したりできます。

データベース名をsqlalchemy省略すると、指定した IP アドレスにちなんで名付けられた DSN が検索されます。もちろん、DSN は存在せず、例外がスローされます。ここに記載されているような有効な接続 URL を使用する必要があります。

データベースに接続したくないというコメントについて-SQL Serverに接続するたびに、接続には接続用のデータベースが設定されている必要があります。作成時に、ログインにはデフォルトのデータベースが割り当てられていました (指定されていない場合は、それmasterが使用されます)。

于 2013-09-27T13:03:20.167 に答える