1

我正在尝试连接到 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 和文档站点上进行了大量的谷歌搜索和搜索。一个常见的建议是验证 DSN 设置,因为这就是导致 ct_connect() 出错的原因,但我能够很好地连接到本地安装的 DBArtisan 副本中的数据库并查看数据库,我相信使用相同的DSN。

也许我应该尝试以没有 DSN 的方式进行连接?还是我在这里缺少其他东西?

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

4

1 回答 1

0

我为其他可能遇到类似问题的人解决了这个问题。

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

于 2012-03-05T17:15:02.233 回答