Подключиться к базе данных Sybase в Python без DSN? - PullRequest
1 голос
/ 02 марта 2012

Я пытаюсь подключиться к базе данных Sybase в Python (используя модуль 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 голосов
/ 05 марта 2012

Я выяснил проблему для всех, у кого может быть похожая проблема.

Очевидно, хотя у меня были допустимые записи для имени хоста в моем файле sql.ini и таблице DSN, Sybase не читалэто правильно - мне пришлось открыть DSEdit (один из инструментов, который поставляется с Sybase) и повторно ввести информацию о сервере / имени хоста.

...