通过Microsoft OLE DB Provider for ODBC Driver进行连接需要配置客户端ODBC,在客户端ODBC配置中有一高级选项,可以对数据类型进行配置:
长对象二进制处理:有两个选项(作为LOB数据;作为LongVar数据)
选用作为LongVar数据,并指定最大LOB列大小
我用的是bcb的例子:
//////////////////////////////////////下面的代码是使blob字段可以存放二进制的
AnsiString S;
TRegistry *Registry = new TRegistry;
Registry->RootKey = HKEY_LOCAL_MACHINE;
Registry->OpenKey("SOFTWARE\\IBM\\DB2", true);
S = Registry->ReadString("DB2 Path Name");
AnsiString IniFiledb2 ;
IniFiledb2= S + "\\db2cli.ini";
TIniFile *inidb2 = new TIniFile (IniFiledb2);
int longd = inidb2->ReadInteger("TZGL","LONGDATACOMPAT",0);
int lobm = inidb2->ReadInteger( "TZGL", "LOBMAXCOLUMNSIZE",0);
if(longd !=1)
inidb2->WriteInteger( "TZGL", "LONGDATACOMPAT",1);
if(lobm != 2048575)
inidb2->WriteInteger( "TZGL", "LOBMAXCOLUMNSIZE",2048575);
delete inidb2;