本人菜鸟一只,刚刚接触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);
}
解决方案 »
- 高分,高手oracle时间转换 100分
- oracle聚合函数中如何设置条件
- oracle字符集问题
- 关于数据迁移,请详细举例说明
- how to solve this problem?ORA-02270
- 输入参数长度设定
- varchar2型只能存储2000字,如何转换varchar2型,存储更多的字!
- 当一列计算字段(含除法) 除数为零,我可以将这一计算列的值设为零吗?
- 我的服务器是NT,在另外一台机器上orcalTNslistener80服务可以起来,为什么把orant目录下的东西考到另一台机器上orcalTNslistener80起不
- 请教'create table t1 as select * from t2'
- 请教一个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: ");