当前位置:  技术问答>linux和unix

OCI 下的 OCIDefineByPos 乱码

    来源: 互联网  发布时间:2016-04-07

    本文导语:  oci 连接 oracle但用OCIDefineByPos取出结果是乱码,其它获得字段名,字段长度都很正确!!部分代码如下:  case SQLT_CHR: case SQLT_AFC:                 {                         pCurrField->Type = STRING_TYP...

oci 连接 oracle但用OCIDefineByPos取出结果是乱码,其它获得字段名,字段长度都很正确!!部分代码如下:
 case SQLT_CHR: case SQLT_AFC:
                {
                        pCurrField->Type = STRING_TYPE;
                        pCurrField->Size = InnerDataSize;
                        pCurrField->DataBuf = new ub1[pCurrField->Size+1];
                        ErrorNo = OCIDefineByPos(hStmt, &(pCurrField->Dfn), hErr, k,
                                pCurrField->DataBuf, pCurrField->Size+1, SQLT_STR,
                                (dvoid*)pCurrField->DataIndicator, (ub2*)0, (ub2*)0, OCI_DEFAULT);
                        checkError(); 
                        //ub2 csid = OCI_UCS2ID;
                        //ub2 csid = OCI_UTF16ID;
                        //ErrorNo = OCIAttrSet((dvoid *)(pCurrField->Dfn),OCI_HTYPE_DEFINE, (dvoid *)&csid,0,OCI_ATTR_CHARSET_ID,hErr);
                        break;
在 DATABUF中都到的值是乱码!!不知为何!!xiexie !!

|
1 pCurrField->DataBuf = new ub1[pCurrField->Size+1]; 
  后面应加上:
     memset(pCurrField->DataBuf, 0x00, pCurrField->Size+1);

2 获取数据的函数返回值是否成功?
  如果没有成功说明是初始new时的乱码,
  成功了说明字符集不相同,导致显示乱码。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请问:我要链接哪些oci库才能成功编译.我在编译的时候老是报OCI函数找不到.
  • 特急求救!oci的调用!
  • 用oci连接oralce问题
  • (菜鸟的问题)如何在Linux下用OCI访问Oracle
  • 我要在 linux下 使用 OCI driver , 该如何配置?
  • Linux下如何使用oci和proc
  • 使用OCI编程,读取表的列数
  • oci开发问题(关于查询结果集)!
  • oci程序怎么链接???
  • 请问在编译oci接口程序时使用哪些库??
  • 跪求UNIX 下C用OCI连接ORACLE方法。高手进!!!
  • java中建立oracle连接的问题(oci和thin方式的区别、优劣?)
  • 【急】各位觉得在UNIX/LINUX下操作数据库用 Pro*C 好还是 OCI 好??
  • 用oci对oracle访问的makefile编写问题
  • OCI 连接ORACLE的小问题
  • AIX 64位系统上如何使用32位OCI oracle driver
  • asp.net无法加载oci.dll的解决方法
  • 请问:在使用oracle数据库作开发时,是使用pro*c作开发好些,还是使用库函数如oci等好一些啊?或者它们有什么区别或者优缺点啊?
  • 【急救】如何在64位AIX下编译和运行OCI的应用程序?
  • Oracle8i OCI连接库的位置?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3