0

WinXPのpython 2.6でアクセスしたいDBIモジュールを介して既存のデータベース(データベースのタイプは不明)とやり取りするPerlスクリプトがあります。

Perl コードは次のとおりです。

use DBI;
my $DSN = "DBI:Proxy:hostname=some.dot.com;port=12345;dsn=DBI:XXXX:ZZZZZ";
my $dbh = DBI->connect($DSN);  

これはpythonの同等物に翻訳できますか?

( Is there any pywin32 odbc connector documentation available? ) の例に従って、以下をまとめました。

import odbc
DSN = "DBI:Proxy:hostname=some.dot.com;port=12345;dsn=DBI:XXXX:ZZZZZ"
db = odbc.odbc(DSN)

しかし、私はエラーが発生します:

dbi.operation-error: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified in LOGIN

アップデート

別の Perl モジュールである DBD::Proxy が、実際のクエリを処理する Perl DBI::ProxyServer (サーバー側) 実装への実際のインターフェイスを提供しているようです。

Python を Perl ベースのDBI::ProxyServerとのインターフェースに使用できますか?

http://metacpan.org/pod/DBD::プロキシ

http://hell.org.ua/Docs/oreilly/weblinux/dbi/ch08_02.htm

4

2 に答える 2

5

Python スクリプトは、Perl スクリプトの行ごとの翻訳である必要はありません。

アクセスしたいデータベースにPython DB-API互換モジュールを使用しないのはなぜですか? MySQL の場合、MySQLdbを使用します。PostgreSQL の場合、PyGreSQLを使用します。

または、Google で「YourDatabaseName + python」を検索します。

于 2009-05-11T08:26:00.497 に答える
0

sqlalchemyはかなりいいです。

于 2009-05-12T13:13:43.013 に答える