关于400上嵌入SQL的CCSID问题,哪位高手可以解决?
在400上写C嵌入SQL程序,因为程序是从windows上传上去的,并且里面有些中文的常量,所以最好选择了1388的字符集。
有这样一个简单的表:
create table testdb/mytest(trd_id char(2),id int)
insert into testdb/mytest values('0B',0)
然后在以下嵌入SQL程序中进行查询,结果总是报SQL0100的错误,后来查看这个表没有建成1388的,也建不成1388的字符集。不知道哪位高手能解决一下,使这个程序能查出记录。
#include <stdio.h>
EXEC SQL INCLUDE SQLCA;
int main()
{
EXEC SQL BEGIN DECLARE SECTION;
long id;
char szTrdId[3];
EXEC SQL END DECLARE SECTION;
memset(szTrdId,0x00,sizeof(szTrdId));
strcpy(szTrdId, "0B");
EXEC SQL SELECT ID INTO :id FROM TESTDB/MYTEST WHERE TRD_ID= :szTrdId;
if(SQLCODE!=0)
{
printf("SQLCODE IS <%d>.\n", SQLCODE);
return -1;
}
else
{
printf("ID is <%d>\n", id);
}
return 0;
}
这只是个例子,返回总是100。因为实际应用中参数是从外面传过来的,所以只能用这种用法。
不知道谁能帮忙解决这个难题。