我想对一台远程的DB2数据库里导入文本数据,可是在DB2cmd 下使用LOAD时不能从本地的文本向远程的数据库导入,只能先把文本数据传到数据库服务器的本地路径才能远程执行,否则会提示找不到文件,上传以后可以执行,但是load里的massage却是写到了本地路径。
再把文件上传服务器有点麻烦,这load语句应该怎么写才能从本地的文件导入到远程的数据库?
希望能详细些,DB2不是很熟悉!!!!多谢
现在的语句我是这样写的
DB2 LOAD FROM "X:\DATA\TEST.TXT" OF DEL MODIFIED BY CODEPAGE=1386 NOROWWARNINGS METHOD P (1, 2, 3, 4) MESSAGES "Y:\DATA\LOG\LOG.TXT" REPLACE INTO ADMINISTRATOR.IMP_TABLE (字段1, 字段2, 字段3, 字段4) STATISTICS USE PROFILE NONRECOVERABLE INDEXING MODE AUTOSELECT
经实验,X:是远程数据库服务器的路径,Y:是本地路径
------解决方案--------------------------------------------------------
试了一下,确实是这样。这个问题应该是db2的一个bug, 从网上找了下需要在客户端上设置db2环境变量
DB2CONNECT_IN_APP_PROCESS 为 yes ,在8.1版本存在这个问题。但是根据说明试了一下还是不可以。
以下是IBM官方对此问题的说明:
IY64332: REMOTE LOAD FAILS WITH SQL3025 IF DB2SET REGISTRY VARIABLE DB2CONNECT_IN_APP_PROCESS IS SET TO 'NO' ON THE CLIENT.
http://www-01.ibm.com/support/docview.wss?uid=swg1IY64332