我们正在使用zendDBi数据库,并且正在尝试从现有DB2表中设置MySQL表。使用此处找到的方法: http://wsip-174-79-32-155.ph.ph.cox.net/wiki/index.php/MySql/DB2StorageEngineDocument (在页面底部附近标题为“Existing IBM i DB2 Tables”的部分)。
这适用于大多数表,但对于一个表,特别是它似乎不起作用。
我能够创建MySQL表并复制FRM文件,但是当我尝试通过mysql访问表时,我收到错误 “得到错误2102'文件已更改,可能与IBMDB2I中的MySQL表定义不兼容”
我在这里读了一篇类似的文章: http://forums.zend.com/viewtopic.php?f=77&t=104778
但是没有创建FID文件。 (这确实适用于另一张桌子)。这是我到目前为止所尝试的:
我很好奇下一步该尝试什么。
以下是iSeries Navigator中原始表的SQL create语句。如您所见,只有2种数据类型。
CREATE TABLE GB1555AFGD.Z1OCTLSP (
ZZSALE CHAR(10) NOT NULL DEFAULT '' ,
ZZAGRP CHAR(4) NOT NULL DEFAULT '' ,
ZZPCOD CHAR(1) NOT NULL DEFAULT '' ,
ZZDAMT DECIMAL(17, 4) NOT NULL DEFAULT 0 ,
ZZPPCT DECIMAL(5, 2) NOT NULL DEFAULT 0 ,
ZZBCHK DECIMAL(17, 4) NOT NULL DEFAULT 0 ,
ZZOLMT DECIMAL(17, 4) NOT NULL DEFAULT 0 ,
ZZOBJT DECIMAL(17, 4) NOT NULL DEFAULT 0 ,
ZZTCHK DECIMAL(17, 4) NOT NULL DEFAULT 0 ,
ZZMGID CHAR(10) NOT NULL DEFAULT '' ,
ZZMPCT DECIMAL(5, 2) NOT NULL DEFAULT 0 ,
ZZLSAL DECIMAL(17, 4) NOT NULL DEFAULT 0 ,
ZZBRNO CHAR(35) NOT NULL DEFAULT '' ,
ZZBNKA CHAR(17) NOT NULL DEFAULT '' ,
ZZDDTP CHAR(1) NOT NULL DEFAULT '' ,
ZZTXNO CHAR(3) NOT NULL DEFAULT '' ,
ZZSPM1 CHAR(60) NOT NULL DEFAULT '' ,
ZZSPM2 CHAR(60) NOT NULL DEFAULT '' ,
ZZSPM3 CHAR(60) NOT NULL DEFAULT '' ,
ZZSPM4 CHAR(60) NOT NULL DEFAULT '' ,
ZZROM CHAR(6) NOT NULL DEFAULT '' ,
ZZCKCD CHAR(1) NOT NULL DEFAULT '' ,
ZZFAXYN CHAR(1) NOT NULL DEFAULT '' ,
ZZPRNYN CHAR(1) NOT NULL DEFAULT '' ,
ZZFAX CHAR(35) NOT NULL DEFAULT '' ,
ZZTIME CHAR(8) NOT NULL DEFAULT '' ,
ZZTIMEC CHAR(1) NOT NULL DEFAULT '' ,
ZZEMLYN CHAR(1) NOT NULL DEFAULT '' ,
ZZEMAIL CHAR(60) NOT NULL DEFAULT '' ,
ZZRCAP CHAR(1) NOT NULL DEFAULT '' ) ;
我不确定它是否重要,但是我遇到困难的表是在较旧的操作系统中创建的。目前我们在7.1上,但这些表可能是在v3r2或v5r4中创建的。也许有些东西丢失了?
答案 0 :(得分:2)
我知道我迟到了一年,但对于在这里搜索的其他人来说......这可能是IBM i 7.1中使用PTF修复的问题。确保您已应用PTF SI50864(如果可能,还应用http://www-01.ibm.com/support/docview.wss?uid=nas267d12878076e4827862574e2003c6d4a中列出的所有最新PTF)