【问题标题】:Connect to a Sybase database in Python without a DSN?在没有 DSN 的情况下使用 Python 连接到 Sybase 数据库?
【发布时间】:2012-03-21 06:14:17
【问题描述】:

我正在尝试使用 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 的方式进行连接?还是我在这里缺少其他东西?

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

【问题讨论】:

  • 我想通了,定时器到时会自动回复
  • 请给出答案并通过选择您的答案关闭问题。

标签: python database sqlalchemy sybase dsn


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-11
    • 1970-01-01
    • 2016-11-23
    • 1970-01-01
    • 2014-05-21
    • 2018-11-06
    • 2023-04-03
    • 1970-01-01
    相关资源
    最近更新 更多