Python相当于perl的dbi/DBD :: Proxy访问?(Perl DBI/DBD :: Python代理)

mon*_*kut 0 python perl odbc dbi

我有一个Perl脚本通过DBI模块与现有数据库(数据库类型未知)连接,我想在WinXP上的python 2.6中访问它.

Perl代码是:

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

这可以转换为python等价物吗?

下面是一个例子(是否有可用的pywin32 odbc连接器文​​档?),我将以下内容放在一起:

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

但我得到错误:

dbi.operation-error: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified in LOGIN
Run Code Online (Sandbox Code Playgroud)

UPDATE

看来另一个Perl模块DBD :: Proxy正在为处理实际查询的Perl DBI :: ProxyServer(服务器端)实现提供实际接口.

python可以用于与基于Perl的DBI :: ProxyServer接口吗?

http://metacpan.org/pod/DBD::Proxy

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

Seu*_*ewa 5

您的python脚本不必是Perl脚本的逐行转换.

为什么不将Python DB-API兼容模块用于您要访问的数据库?对于MySQL,请使用MySQLdb.对于PostgreSQL,请使用PyGreSQL.

或者在Google上搜索"YourDatabaseName + python"