在没有DSN的情况下使用Python连接到Sybase数据库?

时间:2012-03-02 18:25:22

标签: python database sqlalchemy sybase dsn

我正在尝试使用Python连接到Sybase数据库(使用python-sybase DBAPI和sqlalchemy模块),我当前收到以下错误:

ct_connect(): directory service layer: internal directory control layer error: There was an error encountered while binding to the directory service

以下是代码:

import sqlalchemy
connect_url = sqlalchemy.engine.url.URL(drivername='pysybase', username='read_only', password='*****', host='hostname', port=9000, database='tablename', query=None)

db = sqlalchemy.create_engine(connect_url)
connection = db.connect()

我还试图在没有sqlalchemy的情况下连接 - 即只是直接导入Python Sybase模块并尝试连接,但我仍然遇到同样的错误。

我已经做了很多谷歌搜索,并在搜索SO和我正在使用的每个软件包的doc站点上搜索。一个常见的建议是验证DSN设置,因为这是导致ct_connect()绊倒的原因,但是我能够在我本地安装的DBArtisan副本中连接并查看数据库就好了,我相信使用相同的DSN。

也许我应该尝试以没有DSN的方式连接?或者我在这里还缺少什么?

非常感谢任何想法或反馈,谢谢!

1 个答案:

答案 0 :(得分:0)

我为其他可能遇到类似问题的人找出了问题。

显然,即使我在sql.ini文件和DSN表中有主机名的有效条目,Sybase也没有正确读取它 - 我必须打开DSEdit(Sybase附带的一个工具)并重新输入服务器/主机名信息。

相关问题