活学活用,前几天刚会的.
1.先在你的安装目录下(Oracle9i\CD1\doc\readmes)找到文件README_proc.txt文件.该文件告诉你PROC的相关信息,最后教你配置编程环境.
2.安装Oracle的客户端才会安装PROC.
3.编译时记得加ORACLE的客户端动态连接库(Orasql9.lib),一般在$Oracle_home\precomp\lib目录下.下面的代码是几天前从网上下载的.#include <stdio.h>
EXEC SQL INCLUDE SQLCA;
void main()
{
EXEC SQL BEGIN DECLARE SECTION;
VARCHAR user[20],pass[20],tnsname[20],ename[50];
int empno;
float sal;
EXEC SQL END DECLARE SECTION;
strcpy(user.arr,"scott");
user.len=(unsigned short)strlen((char *)user.arr);
strcpy(pass.arr,"tiger");
pass.len=(unsigned short)strlen((char *)pass.arr);
strcpy(tnsname.arr,"Your_service"); //你的Oracle服务名
tnsname.len=(unsigned short)strlen((char *)tnsname.arr);
/*connect to Database ,User is Scott,password is tiger*/
EXEC SQL CONNECT :user IDENTIFIED BY :pass USING :tnsname;
/* Print HTML header info */ EXEC SQL DECLARE emp_cursor CURSOR FOR
SELECT empno,ename,sal from emp;
EXEC SQL OPEN emp_cursor;
EXEC SQL WHENEVER NOT FOUND DO break;
while(1)
{
EXEC SQL FETCH emp_cursor INTO :empno,:ename,:sal;
printf("%d,%s,%f\n",empno,ename.arr,sal );
}
EXEC SQL CLOSE emp_cursor;
EXEC SQL COMMIT WORK RELEASE;
}
1.先在你的安装目录下(Oracle9i\CD1\doc\readmes)找到文件README_proc.txt文件.该文件告诉你PROC的相关信息,最后教你配置编程环境.
2.安装Oracle的客户端才会安装PROC.
3.编译时记得加ORACLE的客户端动态连接库(Orasql9.lib),一般在$Oracle_home\precomp\lib目录下.下面的代码是几天前从网上下载的.#include <stdio.h>
EXEC SQL INCLUDE SQLCA;
void main()
{
EXEC SQL BEGIN DECLARE SECTION;
VARCHAR user[20],pass[20],tnsname[20],ename[50];
int empno;
float sal;
EXEC SQL END DECLARE SECTION;
strcpy(user.arr,"scott");
user.len=(unsigned short)strlen((char *)user.arr);
strcpy(pass.arr,"tiger");
pass.len=(unsigned short)strlen((char *)pass.arr);
strcpy(tnsname.arr,"Your_service"); //你的Oracle服务名
tnsname.len=(unsigned short)strlen((char *)tnsname.arr);
/*connect to Database ,User is Scott,password is tiger*/
EXEC SQL CONNECT :user IDENTIFIED BY :pass USING :tnsname;
/* Print HTML header info */ EXEC SQL DECLARE emp_cursor CURSOR FOR
SELECT empno,ename,sal from emp;
EXEC SQL OPEN emp_cursor;
EXEC SQL WHENEVER NOT FOUND DO break;
while(1)
{
EXEC SQL FETCH emp_cursor INTO :empno,:ename,:sal;
printf("%d,%s,%f\n",empno,ename.arr,sal );
}
EXEC SQL CLOSE emp_cursor;
EXEC SQL COMMIT WORK RELEASE;
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货