Проблема с подключением к базе данных TimesTen в Python

У меня установлено 2 машины:

  1. Терминал RDP с клиентом timesten 11.2.1 и pyodbc == 3.0.7 отлично работает. Я использую эту строку подключения:

    cnxn = pyodbc.connect ('DSN = myhostip; UID = myusername; PWD = mypass')

  2. локальный компьютер с клиентом timesten 11.2.2 и pyodbc == 4.0.22 (я также пробовал более старые версии, например 3.0.7), и когда я использую строку подключения: cnxn = pyodbc.connect ('DSN = myhostip1 ; UID = myusername1; PWD = mypass1 ') Я получаю эту ошибку: pyodbc.Error: (' HY010 ', u' [HY010] [Microsoft] [ODBC Driver Manager] Драйвер не может поддерживать текущую среду атрибуты. (0) (SQLDriverConnect) ').

Обе базы данных на обеих машинах практически одинаковы, поэтому разница только в версии драйвера, превышающей временную. Или в чем еще может быть проблема? Я настроил DSN на обеих машинах и подключаюсь к ним в SQLDeveloper.

Я пробовал разные клиенты timesten и версии pyodbc, но каждый раз получал одну и ту же ошибку. Это единственный известный мне способ подключения к базе данных timesten. Может ли кто-нибудь помочь мне решить эту ошибку или рассказать о другом способе подключения, кроме pyodbc?


person povar    schedule 19.01.2018    source источник
comment
В зависимости от того, что вы делаете, можно использовать интерфейс cx_Oracle, хотя это не проверенная конфигурация.   -  person Christopher Jones    schedule 22.01.2018
comment
Да, я использую cx_Oracle для подключения к другим базам данных, но не к базе данных timesten, не могли бы вы рассказать мне, как? Я пробовал этот способ: conn = cx_Oracle.connect ('user', 'pass', '17.1.17.1:53397'), но получил ошибку: cx_Oracle.DatabaseError: ORA-12547: TNS: потерянный контакт. Полагаю, мне нужно указать в аргументах путь к / или имя драйвера timesten?   -  person povar    schedule 22.01.2018
comment
Мне удалось подключиться к базе данных timesten через jaydebeapi: conn = jaydebeapi.connect (com.timesten.jdbc.TimesTenConnection, jdbc: timesten: client: dsn = myhost, {'user': SA, 'password': mypass}, c: \ TimesTen \ tt1122_64 \ lib \ ttjdbc5.jar,)   -  person povar    schedule 26.01.2018


Ответы (1)


См. Этот ответ о том, как подключиться к TimesTen через Python: доступ Python к TimesTen

Используйте cx_Oracle через tnsnames.ora, поскольку это метод, который Oracle будет поддерживать в TimesTen 18.1.3.

Пожалуйста, избегайте использования каких-либо методов на основе ODBC для подключения к Python, поскольку ни один из этих методов не разработан и не протестирован Oracle.

person ScalableDBDoug    schedule 13.11.2019