oracle 数据用例导入,PROC简单使用用例--VC连接ORACLE

PROC简单使用用例--VC连接ORACLE

操作系统:windows 7

数据库版本:oracle 10g

VS版本:VS2010

前言:连接ORACLE的方式有很多,此处仅以PROC为例,说明如何连接oracle,有不妥之处,望诸位看官指出,学习共进。

一、安装oracle 10g对应的客户端版本。

注意事项:做好客户配置,以本机为例:D:\oracle\product\10.2.0\client_2\NETWORK\ADMIN\tnsnames.ora文件为

# tnsnames.ora Network Configuration File: d:\oracle\product\10.2.0\client_2\network\admin\tnsnames.ora

# Generated by Oracle configuration tools.

DB_DEMO =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.8.222)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = db_demo)

)

)

host:ORACLE服务端IP地址;PORT:ORACLE服务端端口号,默认为1521;SERVICE_NAME:数据库名称。

二、建立oracle.pc文件,文件内容为:

// oracle.cpp : Defines the entry point for the console application.

//

#include

#include

#include

#include

//EXEC SQL INCLUDE SQLCA;

#include

int main(int argc, char* argv[])

{

EXEC SQL BEGIN DECLARE SECTION;

VARCHAR myusername[20], mypassword[20], myserver[20];

EXEC SQL END DECLARE SECTION;

printf( "\n请输入用户名:" );

gets( (char*)myusername.arr );

myusername.len = (unsigned short) strlen( (char*)myusername.arr );

printf( "\n请输入口令:" );

gets( (char*)mypassword.arr );

mypassword.len = (unsigned short) strlen( (char*)mypassword.arr );

printf("\n请输入服务器名:");

gets( (char*)myserver.arr );

myserver.len = (unsigned short) strlen( (char*)myserver.arr );

EXEC SQL CONNECT :myusername IDENTIFIED BY :mypassword USING :myserver;

if(sqlca.sqlcode < 0 )

printf (" \n用户%s成功地连接到了服务器%s上!\n" , myusername.arr, myserver.arr);

else

printf("\n%ld,%s\n", sqlca.sqlcode,(char *)sqlca.sqlerrm.sqlerrmc);

return 0;

}

三、找到ORACLE安装目录下PROC.exe文件,本机目录为:D:\oracle\product\10.2.0\client_2\BIN,将oracle.pc文件拷贝到些目录下,运行cmd命令行,cd到此目录下,运行proc.exe oracle.pc oracle.cpp命令,会在当前目录下生成oracle.cpp文件。

四、启动VS2010,建立空控件台的oracle项目,以下要注意了,做好VS项目配置。将oracle.cpp的拷贝至oracle目录下,添加进工程。然后做下图的配置:

1、数据库include头文件路径配置

e7ba71a060c855baec29519b3b5a4dd8.png

2、数据库LIB文件目录配置

568d7c12f32d1a01c1532a5472f49ff3.png

3、数据库依赖LIB文件配置

c99bbf63853370e21aa184d4f6abf222.png

五、删除之前自动生成的oracle.cpp文件,将oracle.cpp添加进oracle项目,编译链接。可能会出现以下几个错误:

1、提示未include "stdafx.h"。解决方案:在oracle.cpp开始部位添加#include "stdafx.h"

2、提示 error LNK2001: unresolved external symbol "void __cdecl sqlcxt(void * *,unsigned int *,struct sqlexd *,struct sqlcxp const *)" (?sqlcxt@@YAXPAPAXPAIPAUsqlexd@@PBUsqlcxp@@@Z)错误。解决方案:extern void sqlcxt (void **, unsigned int *,struct sqlexd *, const struct sqlcxp *);在extern后加上"C"编译即可

3、其它一些问题,就仔细查看配置的include、lib路径是否正确,以及lib文件名是否正确。

六、运行生成的oracle.exe。截图如下:

ec0084b052b219dfc93d9ec949b3c57c.png

http://www.htsjk.com/oracle/22453.html

www.htsjk.Com

true

http://www.htsjk.com/oracle/22453.html

NewsArticle

PROC简单使用用例--VC连接ORACLE 操作系统:windows 7 数据库版本:oracle 10g VS版本:VS2010 前言:连接ORACLE的方式有很多,此处仅以PROC为例,说明如何连接oracle,有不妥之处,望诸位看官...

本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.

同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。

相关文章

暂无相关文章

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值