Size: a a a

2020 October 06

RY

Ruslan515 Y in Data Engineers
пробовал с некоторыми изменениями - ошибка :
источник

A

Alex in Data Engineers
а язык то какой?
источник

A

Alex in Data Engineers
у нас активно используют для скалы
https://github.com/microsoft/mssql-jdbc

проблем не замечено (ну кроме пару с многопоточностью у них были с год назад, отправили им багрепорты и пофиксили)
источник

A

Alex in Data Engineers
pyodbc тоже использовали, полёт нормальный
источник

ДН

Дмитрий Негреев... in Data Engineers
Ruslan515 Y
пробовал с некоторыми изменениями - ошибка :
Pymssql попробуйте
источник

RY

Ruslan515 Y in Data Engineers
Alex
а язык то какой?
сорян, забыл. питон
источник

RY

Ruslan515 Y in Data Engineers
Дмитрий Негреев
Pymssql попробуйте
ок.
источник

A

Alex in Data Engineers
но нужно учесть что офф pymssql уже не поддерживается
https://github.com/pymssql/pymssql/issues/668

сами разрабы заявляли, хотя комиты вроде как и идут и termim взял на себя поддержку, но вот бывшие основные разрабы слились
источник

A

Alex in Data Engineers
хотя тоже работает норм
источник

АК

Анатолий Клюса... in Data Engineers
Коллеги, какой бест практис обращения из питона в оракл? Мне нужно авторизоваться и выполнить простой sql-запрос, получить результат.
Запускать буду в итоге на самом оракловом сервере (оракл 11.2 на линуксе и на виндах).
Какую либу или что использовать?
cx_oracle?
источник

OI

Oleg Ilinsky in Data Engineers
ну cx_oracle это типа классика) у нас тоже она. Насчёт бест практис хз, мы из airflow ходим, соответственно, логины-пароли там лежат.
источник

AZ

Anton Zadorozhniy in Data Engineers
sqlalchemy?
источник

АК

Анатолий Клюса... in Data Engineers
Я имел в виду, чтобы с мин. вмешательствами выполнить на серваке python myprog.py и получить результат )
Желательно, конечно, на ванильном) питоне... но придется, видимо, сделать pip install cx_oracle?..
Ну, чтобы поменьше на сервере чет ставить)
источник

АК

Анатолий Клюса... in Data Engineers
это уже надо что-то инсталлировать на сервере, да?
Или через pip можно?
источник

AZ

Anton Zadorozhniy in Data Engineers
Анатолий Клюса
это уже надо что-то инсталлировать на сервере, да?
Или через pip можно?
через pip ставится, но если вам просто один запрос исполнить то cx_Oracle хватит (sqlalchemy от него зависит, просто стандартный тулинг поверх дает)
источник

OI

Oleg Ilinsky in Data Engineers
Анатолий Клюса
Я имел в виду, чтобы с мин. вмешательствами выполнить на серваке python myprog.py и получить результат )
Желательно, конечно, на ванильном) питоне... но придется, видимо, сделать pip install cx_oracle?..
Ну, чтобы поменьше на сервере чет ставить)
для оракла ещё вот это надо ставить
&& wget https://download.oracle.com/otn_software/linux/instantclient/195000/oracle-instantclient19.5-basic-19.5.0.0.0-1.x86_64.rpm \
&& alien oracle-instantclient19.5-basic-19.5.0.0.0-1.x86_64.rpm \
&& dpkg -i oracle-instantclient19.5-basic_19.5.0.0.0-2_amd64.deb \
&& rm oracle-instantclient19.5-basic_19.5.0.0.0-2_amd64.* \
источник

АК

Анатолий Клюса... in Data Engineers
Anton Zadorozhniy
через pip ставится, но если вам просто один запрос исполнить то cx_Oracle хватит (sqlalchemy от него зависит, просто стандартный тулинг поверх дает)
Ок, спасибо! Попробую для начала cx_oracle.
источник

AZ

Anton Zadorozhniy in Data Engineers
просто если вам один раз один стейтмент выполнить - киньте его через процесс в SQLplus и все
источник

АК

Анатолий Клюса... in Data Engineers
Oleg Ilinsky
для оракла ещё вот это надо ставить
&& wget https://download.oracle.com/otn_software/linux/instantclient/195000/oracle-instantclient19.5-basic-19.5.0.0.0-1.x86_64.rpm \
&& alien oracle-instantclient19.5-basic-19.5.0.0.0-1.x86_64.rpm \
&& dpkg -i oracle-instantclient19.5-basic_19.5.0.0.0-2_amd64.deb \
&& rm oracle-instantclient19.5-basic_19.5.0.0.0-2_amd64.* \
Оно будет на оракловом серваке, думаю, там все это есть...
Эх... jdbc вроде ничего кроме джарника  не нужно было...
Или тут тоже есть что-то вроде thin client, где нужна только либа?
источник

АК

Анатолий Клюса... in Data Engineers
Anton Zadorozhniy
просто если вам один раз один стейтмент выполнить - киньте его через процесс в SQLplus и все
та не... )) так не хочется... ) хотя, вариант конечно... )
Просто это будет простой rest сервер, возвращающий результат запроса.
источник