Informix" load"命令在Python pyodbc中不起作用

时间:2018-03-13 18:59:11

标签: python informix pyodbc

我们正在编写一个实用程序来将数据加载到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中的命令?

提前感谢帮助。

谢谢,

3 个答案:

答案 0 :(得分:6)

不幸的是,'LOAD from ...'(以及'UNLOAD TO ...')仅适用于DBACCESS和ISQL。没有客户端API(ODBC / JDBC / .NET)支持这些命令。

答案 1 :(得分:2)

作为J_S saidLOAD命令是由前端工具实现的伪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