Я пытаюсь подключиться к базе данных Sybase и извлечь из нее данные.Я работаю в системе Ubuntu 18.04 с установленным репозиторием Anaconda и хотел бы использовать Python 3.6.
Я нашел способ извлечения данных из БД с помощью пакета python-sybase, но он зависит от python 2.7 и, как я сейчас, уже устарел.
import Sybase
db = Sybase.connect(dsn = server:port, user = usr, passwd = pwd, database = db)
c = db.cursor()
c.execute("select var1,var2,var3 from xxx where datum=1yymmdd and statnr=stat1")
list1 = c.fetchall()
print list1
Вывод этого скрипта выглядит примерно так:
[(10.8, 100, 0), (11.2, 100, 5), (11.3, 100, 10), ..., ..., ...]
Я попытался использовать пакет te pymssql, который совместим с python 3.x.
import pymssql
conn = pymssql.connect(server=serv:port,user=usr,password=pwd,database=db)
print(conn)
cursor = conn.cursor()
cursor.execute("select var1,var2,var3 from xxx where datum=1yymmdd and statnr=stat1")
list2 = cursor.fetchall()
print(list2)
Но получите следующеесообщение об ошибке, уже после попытки подключения к базе данных, так как оно не выполняет print (conn):
Traceback (most recent call last):
File "src/pymssql.pyx", line 636, in pymssql.connect
File "src/_mssql.pyx", line 1957, in _mssql.connect
File "src/_mssql.pyx", line 707, in _mssql.MSSQLConnection.__init__
_mssql.MSSQLDriverException: Could not set connection properties
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/progs/Test_SYBASE.py", line 9, in <module>
conn = pymssql.connect(server=serv,user=usr,password=pwd,database=db,port=prt)
File "src/pymssql.pyx", line 645, in pymssql.connect
pymssql.InterfaceError: Could not set connection properties
Так что моя проблема на самом деле касается самого соединения.
Я читал об этом сообщении об ошибке в руководстве по pymssql, но не знаю, как с этим справиться.
исключение _mssql.MSSQLDriverException MSSQLDriverException вызывается всякий раз, когда в _mssql возникает проблема -например, недостаточно памяти для структур данных и т. д.
исключение pymssql.InterfaceError
Возникает при ошибках, связанных с интерфейсом базы данных, а не самой базой данных.Подкласс Error.
У вас есть какие-либо предложения, как справиться с этим?
Спасибо за помощь!