Я пытаюсь быстро загрузить файл в таблицу через python в SAP IQ. Столкнулся с такой проблемой. Изначально пользователь имеет доступ к загрузке файлов, используя инструкцию load table (...) using client file ...
. Если вы используете программное обеспечение от SAP (интерактивный sql), все работает нормально, но при использовании библиотеки sqlanydb я получаю сообщение об ошибке ... (b'Operation failed on file due to file permissions.) File: file.txt \ n-- (oslib / hos_clientfileio.cxx 143 ) '
, -1006148). Помогите пожалуйста понять, что именно я делаю не так? Возможно, необходимо добавить какой-либо параметр в sqlanydb.connect ()
, но я не смог найти нормальную документацию. Я не могу использовать import
или insert
, потому что файлы могут стать больше в будущем (от 100К строк и более). Таким образом, инструкция load table (...) using client file
очень быстро загружает данные и практически не требует усилий на сервере.
Мой код:
import sqlanydb
conne = sqlanydb.connect(uid='user',
pwd='password',
databasename = 'dbname',
host = 'host.name')
_SQL = '''create table #REP001 (
col1 int,
col2 int
)
;
commit;
load table #REP001
(
col1 ';',
col2 '\x0d\x0a'
)
using client file 'file.txt'
quotes off
escapes off
;
commit;'''
cur = conne.cursor()
cur.execute(_SQL)
cur.close()
conne.close()
Я готов использовать любую идею, возможно, есть другие библиотеки, которые сделают это возможным с помощью python