我们正在编写一个实用程序来将数据加载到Informix DB中。
我们的实用程序是用Python编写的,我们使用pyodbc包来连接和执行SQL。
select和insert查询工作正常。
但是,sql
"从input_file分隔符' |'加载插入表格#34;
失败并出现以下错误。
pyodbc.ProgrammingError: ('42000', '[42000] [Informix][Informix ODBC Driver][Informix]A syntax error has occurred. (-201) (SQLExecDirectW)')
pyodbc是否不支持"加载" Informix中的命令?
提前感谢帮助。
谢谢,
答案 0 :(得分:6)
不幸的是,'LOAD from ...'(以及'UNLOAD TO ...')仅适用于DBACCESS和ISQL。没有客户端API(ODBC / JDBC / .NET)支持这些命令。
答案 1 :(得分:2)
作为J_S said,LOAD
命令是由前端工具实现的伪SQL命令;它不是由数据库服务器实现的。
还有许多其他相关命令具有相同的属性:
LOAD
UNLOAD
OUTPUT
INFO
LOAD
的一个复杂因素是文件名由本地计算机上的客户端指定,但文件的内容可能必须通过网络传输到数据库服务器所在的位置。这不是一个不可克服的问题; BLOB和CLOB文件可能会出现类似的问题,并且已经克服了。
这些操作都是由ISQL和DB-Access(以及我的SQLCMD等工具实现的 - 您可能需要注册才能下载它,但注册是免费的,电子邮件负载并不繁重。)< / p>
答案 2 :(得分:2)
如何使用外部表加载数据? INSERT INTO target1 SELECT * FROM ext1;
https://www.ibm.com/support/knowledgecenter/en/SSGU8G_12.1.0/com.ibm.sqls.doc/ids_sqs_2068.htm