call db2 load statement from an odbc connection

2019-09-03 20:51发布

问题:

I have this txt file, formatted with the '|' character between columns, and this script generated by the db2 LOAD wizard:

  LOAD FROM "<path_and_name_of_the_txt_file>" OF DEL MODIFIED BY ANYORDER COLDEL|
  METHOD P (1, 2, 3) MESSAGES "<path_and_name_of_a_new_log_file>"
  REPLACE INTO DB2ADMIN.WEB_NOHAB_CONSOLI (RUC, RAZSOC, FECHA)
  NONRECOVERABLE INDEXING MODE AUTOSELECT LOCK WITH FORCE;

The script just works ok. Now I have to call it from my VFP form (cStatement contains all the LOAD from above):

SQLEXEC(nMyConn,cStatement)

but it fails with error SQL0104N I've tried with "" and '' for the path parameters but the problem persists. Any Ideas?

回答1:

The DB2 CLP can run LOAD and other non-SQL commands that client applications cannot send over a driver-based connection. DB2 provides a system stored procedure called ADMIN_CMD, which client connections (ODBC, JDBC, etc.) can call to initiate any of several popular administrative commands, including LOAD.