powered by simpleCommunicator - 2.0.18     © 2024 Programmizd 02
Map
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Python connection string
4 сообщений из 4, страница 1 из 1
Python connection string
    #39997265
ТукТум
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Коллеги, рад вас приветствовать!

Python - это замечательный язык программирования и инструмент администратора баз данных!

SQL Anywhere 17.0.10.6089 - это прекрасная, производительная субд!

Конечно, чтобы усилить восторг обладания столь мощных технологий, нужно подключиться к ASA 17 через pyton (3.8.5)

Из документации
http://dcx.sap.com/index.html#sqla170/en/html/3be1983e6c5f1014891ff37bd8009def.html
видим, что выполнить это можно так:
Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
import sqlanydb
myuid = 'user'
mypwd = 'user_psw'
mydsn = "ASA17_test"

# Create a connection object, then use it to create a cursor

con = sqlanydb.connect( dsn=mydsn, userid=myuid, password=mypwd )

cursor = con.cursor()

sql = "SELECT * FROM any_table"
cursor.execute(sql)



Но после запуска скрипт завершается ошибкой:

Код: python
1.
2.
3.
  File "C:\projects\Python\asa17\venv\lib\site-packages\sqlanydb.py", line 456, in load_library
    raise InterfaceError("Could not load dbcapi.  Tried: " + ','.join(map(str, names)))
sqlanydb.InterfaceError: ('Could not load dbcapi.  Tried: None,dbcapi.dll,libdbcapi_r.so,libdbcapi_r.dylib', 0)



т.е. python хочет подгрузить файлы dbcapi.dll,libdbcapi_r.so,libdbcapi_r.dylib, а их нет ...

И в системе их нет, и тут (zip)
https://github.com/sqlanywhere/sqlanydb
их нет ...


Устанавливал через pip install sqlanydb

Коллеги, может кому-то удалось подключиться?
Через sqlanydb или sqlalchemy-sqlany или sqlany-django или pyODBC?


Очень буду благодарен за помощь.
...
Рейтинг: 0 / 0
Python connection string
    #39997417
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pyODBC

проблем ноль.
...
Рейтинг: 0 / 0
Python connection string
    #39997560
ТукТум
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
White Owl,

Да, pyODBC как драйвер клиента на python для платформы windows подходит.

Пример подключения:

Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
import pyodbc

cn_host = 'host'
cn_port = '2638'
cn_dbn = 'database'
cn_eng = 'srv_database'
cn_usr = 'user'
cn_psw = 'password'
cn_drv = '{SQL Anywhere 17}'
cn_lnk = 'TCPIP{HOST='+cn_host+':'+cn_port+'}'

# cnxn = pyodbc.connect('DRIVER={SQL Anywhere 17};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+ password)

conn_string = 'Driver='+cn_drv+';LINKS='+cn_lnk+';ENG='+cn_eng+';DBN='+cn_dbn+';UID='+cn_usr+';PWD='+ cn_psw

cnxn = pyodbc.connect(conn_string)

sql = "SELECT top 10 * FROM sample_table"

cursor = cnxn.cursor()
cursor.execute(sql)

row = cursor.fetchone()
while row:
    print(row[0])
    row = cursor.fetchone()



Конечно, нужно проверить работу драйвера под linux т.к. приложение хотелось бы в итоге перенести в контейнер,
но это уже другая тема ;)

Большое спасибо за помощь.
...
Рейтинг: 0 / 0
Python connection string
    #39999188
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТукТум,

Тебе надо установить клиента Sybase Anyware на эту машину.
Он естественно ставится ОТДЕЛЬНО, так как коммерческий продукт (хотя бы) да и вообще изготовлен другими людьми.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Python connection string
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (1): Анонимы (1)
Читали форум (1): Анонимы (1)
Пользователи онлайн (6): Анонимы (4), Bing Bot, Yandex Bot 1 мин.
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]