查看: 7900|回复: 2

请教sqlglm()函数,谢谢了!!

[复制链接]
论坛徽章:
23
跳转到指定楼层
1#
发表于 2004-11-8 15:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位大虾。
     请问sqlglm函数如何用,为何,在我的程序中,总是打印不出来错误的详细信息。请问哪里有这一方面的文档?
     EXEC SQL CONNECT :username IDENTIFIED BY assword;
             EXEC SQL WHENEVER SQLERROR CONTINUE;
             sqlglm(msg_buffer,&buffer_size,&msg_length);
             printf("\nERROR WHEN CONNECT TO THE ORACLE DATABASE!\n";
             sprintf(sqlmsg,"%*.s\n",msg_length,msg_buffer);
            为什么这样,sqlmsg中不是正确的信息!
另外,有子函数
Dblogin(char *uid,char * pwd,char * dbnm,char * errmsg)
         sprintf(sqlmsg,"%*.s\n",msg_length,msg_buffer);
      想通过 errmsg传回由sqlglm()函数的详细错误信息。
于是main函数中 定义了一个char *err_ms;,可是在调用了dblogin()
函数之后,返回不了正确的errmsg!

程序结构类似于
          main()
{
  char *str = "";
  changex(&str);
  printf(str);
}
changex(char *x)
{
*x = "123456";
}
在这个小函数中,main函数能返回123456,可是在我说的哪一个函数中去不能返回,

小弟正苦恼中,望各位大虾指教!!!

谢谢了!!!!!!!!!!!11
论坛徽章:
1
授权会员
日期:2005-10-30 17:05:33
2#
发表于 2004-11-8 19:54 | 只看该作者
Getting the Full Text of Error Messages
The SQLCA can accommodate error messages up to 70 characters long. To get the
full text of longer (or nested) error messages, you need to use the sqlglm()
function. The syntax is
void sqlglm(char *message_buffer,
size_t *buffer_size,
size_t *message_length);
where:
Syntax Description
message_buffer Is the text buffer in which you want Oracle to store the error
message (Oracle blank-pads to the end of this buffer).
buffer_size Is a scalar variable that specifies the maximum size of the buffer
in bytes.
message_length Is a scalar variable in which Oracle stores the actual length of the
error message, if not truncated.

使用道具 举报

回复
论坛徽章:
23
3#
 楼主| 发表于 2004-11-9 08:38 | 只看该作者
先谢谢了!可是为什么我用sprintf()得不到sprintf(sqlmsg,"%*.s\n",msg_length,msg_buffer);里面的sqlmsg,而如果直接用msg_buffer就行呢!望指导一下。
   再次表示感谢!!!!!

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表