免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1342 | 回复: 4
打印 上一主题 下一主题

有关oracle10G中pro*c的问题,连接错误 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-08-17 11:40 |只看该作者 |倒序浏览
现在有一个非常奇怪的问题,我的一个很简单的pro*C程序,只是连接了一下数据库,程序就崩溃了,真是见鬼。
我们的环境是solaris9+oracle10g,代码如下:
  1. int connect(char * user, char * pass)
  2. {
  3. //EXEC SQL BEGIN DECLARE SECTION;
  4.   // char username[20];
  5.   // char password[20];
  6. //EXEC SQL END DECLARE SECTION;
  7. //      strcpy(username,"maru@mzts");
  8. //      strcpy(password,"maru");
  9.        EXEC SQL WHENEVER SQLERROR GOTO error;
  10.        EXEC SQL CONNECT :user IDENTIFIED BY :pass;
  11.        printf("connect succeed");
  12.        return 0;

  13. error:
  14.        return 1;
  15. }
  16. int main(int argc, char*arg[])
  17. {
  18.        //EXEC SQL WHENEVER SQLERROR DO sql_error();
  19.        connect("maru@mzts","maru");
  20.        //sql();
  21.        //EXEC SQL COMMIT RELEASE;
  22.        return 0;
  23. }
复制代码

崩溃的地点就在连接数据库的那句话上,奇怪啊。
而我把连接的语句拿出来,直接放在main里面,就没问题了,这是为什么啊

论坛徽章:
0
2 [报告]
发表于 2005-08-17 12:26 |只看该作者

有关oracle10G中pro*c的问题,连接错误

我在很早以前也碰到过,搞了好久没搞定,后来搞定了也忘了怎么搞定的.
提两个建议:
把//的注释全部改成/**/;
到预编译后的文件里去找找看,是否有可疑的地方.

论坛徽章:
0
3 [报告]
发表于 2005-08-17 12:48 |只看该作者

有关oracle10G中pro*c的问题,连接错误

connect函数为socket编程中的系统函数,将connect改为connectdb或许就好了。

论坛徽章:
0
4 [报告]
发表于 2005-08-17 13:42 |只看该作者

有关oracle10G中pro*c的问题,连接错误

楼上的大人,多谢了,哈哈哈,冥思苦想了多天的问题啊,终于解决了。c语言也搞了几年了,还是不断在掉在陷阱里面。
不过,令人奇怪的是,CC的编译器对这种情况怎么没有任何警告呢?

论坛徽章:
0
5 [报告]
发表于 2005-08-17 15:34 |只看该作者

有关oracle10G中pro*c的问题,连接错误

我刚开始也遇到这样的问题,后来才发现错误所在,同情楼主的郁闷,我以前何尝不是呢
不过有些资料就怎么写的,所以咱们也忽略了这个问题!哈
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP