本人菜鸟一只,刚刚接触oracle,遇到问题请高手指导。
我先在数据库的data用户下建立了一个表格results,并插入了几个记录。然后建立了oracle 的专用ODBC,并且测试成功。
然后又写了如下程序,将PROC 内嵌到VC中后,预编译,编译,连接,运行,这些都很顺利,但我用用户名data,密码data,网络服务名orada连接oracle数据库时也通信成功(如下,屏幕会打印出“连接成功”),但奇怪的是我下面写的SQL语句确不能执行(当该程序运行后,我用SQL PLUS 查看数据表results,发现程序中的数据没有插入数据表)。操作系统是windows xp , 请高手指教。谢谢!谢谢!很着急呀,这个问题折磨我两天啦,谢谢啦,高手帮帮我呀!!!
#include <stdio.h>
#include <string.h>
#include <stdlib.h>#include <sqlca.h>void connect();
EXEC SQL BEGIN DECLARE SECTION;
char username[20];
char password[20];
char server[20];
EXEC SQL END DECLARE SECTION;
void main()
{
connect();}void connect()
{
printf("请输入用户名:");
gets(username);
printf(" 请输入密码:");
gets(password);
printf(" 网络服务名:");
gets(server);/*连接到数据库*/
EXEC SQL CONNECT :username IDENTIFIED BY :password using :server;
if(sqlca.sqlcode==0)
printf("连接成功!");
else
printf("%.*s\n",sqlca.sqlerrm.sqlerrml,sqlca.sqlerrm.sqlerrmc);
EXEC SQL INSERT INTO results(rstream_no,rcar_no ,rcar_prob,rcar_time )
values(12,123654,0.3,110);
}
我先在数据库的data用户下建立了一个表格results,并插入了几个记录。然后建立了oracle 的专用ODBC,并且测试成功。
然后又写了如下程序,将PROC 内嵌到VC中后,预编译,编译,连接,运行,这些都很顺利,但我用用户名data,密码data,网络服务名orada连接oracle数据库时也通信成功(如下,屏幕会打印出“连接成功”),但奇怪的是我下面写的SQL语句确不能执行(当该程序运行后,我用SQL PLUS 查看数据表results,发现程序中的数据没有插入数据表)。操作系统是windows xp , 请高手指教。谢谢!谢谢!很着急呀,这个问题折磨我两天啦,谢谢啦,高手帮帮我呀!!!
#include <stdio.h>
#include <string.h>
#include <stdlib.h>#include <sqlca.h>void connect();
EXEC SQL BEGIN DECLARE SECTION;
char username[20];
char password[20];
char server[20];
EXEC SQL END DECLARE SECTION;
void main()
{
connect();}void connect()
{
printf("请输入用户名:");
gets(username);
printf(" 请输入密码:");
gets(password);
printf(" 网络服务名:");
gets(server);/*连接到数据库*/
EXEC SQL CONNECT :username IDENTIFIED BY :password using :server;
if(sqlca.sqlcode==0)
printf("连接成功!");
else
printf("%.*s\n",sqlca.sqlerrm.sqlerrml,sqlca.sqlerrm.sqlerrmc);
EXEC SQL INSERT INTO results(rstream_no,rcar_no ,rcar_prob,rcar_time )
values(12,123654,0.3,110);
}
解决方案 »
- PL/SQL连接oracle数据库问题
- 急急急,求数据库系统实现的上机实验!
- 现在我想每个类型总共有几个,状态0有几个,状态1为几个,状态2的为几个,各位大师能不能给指点下
- oracle 没有可用的错误信息:E_UNEXPECTED(0x8000FFFF)
- 紧急求助!!关于ADO连接ORACLE后执行DELETE语句失败?
- 请教:这个Access Sql转换成Oracle Sql 怎么写?
- 我今年毕业,现在有间公司请我去当oracle的DBA,不知道这个职位的前途怎么样呢?
- 菜鸟发问,再线给分
- 请教:DP2K中如何读、写注册表信息?
- 我菜鸟 请问安装中管理口令没有怎么办
- 请教一个sql语句的写法
- 关于wm_concat函数的奇怪问题
void sql_error(char *msg)
{
printf("\n%s,%ld,%s\n", msg,sqlca.sqlcode,(char *)sqlca.sqlerrm.sqlerrmc);
EXEC SQL ROLLBACK RELEASE;
exit(-1);
} 然后在main的开头增加一句:
EXEC SQL WHENEVER SQLERROR DO sql_error("ORACLE ERROR: ");