PROC简单的用例--VC连接ORACLE
操作系统:windows 7
数据库版本号:oracle 10g
VS版本号:VS2010
前言:连接ORACLE有许多方法,这里只PROC外壳,说明如何连接oracle,有事吗,希望你告诉我指出,一起学习。
一、安装oracle 10g相应的client版本号。
注意事项:做好客户配置,以本机为例: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服务端port号,默觉得1521;SERVICE_NAME:数据库名称。
二、建立oracle.pc文件,文件内容为:
// oracle.cpp : Defines the entry point for the console application.
// #include <stdio.h>
#include <stdlib.h> #include <process.h>
#include <errno.h> //EXEC SQL INCLUDE SQLCA;
#include <sqlca.h> 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文件夹下,加入进project。
然后做下图的配置:
1、数据库include头文件路径配置
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaGVpaGVpMzY=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
2、数据库LIB文件文件夹配置
3、数据库依赖LIB文件配置
五、删除之前自己主动生成的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。截图例如以下:
PROC简单的用例--VC连接ORACLE的更多相关文章
- [转]PROC简单使用用例--VC连接ORACLE
[转]PROC简单使用用例--VC连接ORACLE 操作系统:windows 7 数据库版本:oracle 10g VS版本:VS2010 前言:连接ORACLE的方式有很多,此处仅以PROC为例,说 ...
- Navicat Premium 连接 Oracle 数据库
Navicat Premium 是一个可多重连接的数据库管理工具,它可让你以单一程序同時连接到 MySQL.SQLite.Oracle 及 PostgreSQL 数据库,让管理不同类型的数据库更加方便 ...
- 一则简单演示样例看Oracle的“无私”健壮性
Oracle的强大之处就在于他能总帮助让你选择正确的运行计划,即使你给了它错误的指示. 实验: 1. 创建測试表: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZ ...
- vc++用ADO方式连接oracle问题
今天装了个oracle客户端,准备写个访问远程oracle的程序.用的是vs2010,采用ADO的连接方法连接oracle,结果运行的时候总是报下面的错: 从提示可以看出是没有找到OraOLEDBup ...
- C#连接Oracle简单教程
要点:本文主要介绍如何使用最简单的方法让C#操作Oracle数据库,不需要安装Oracle客户端之类的东西. 最近由于工作需要,要使用C#从SQLServer向Oracle导入数据.之前没有怎么接触过 ...
- java连接oracle的简单实例
连接oracle的时候,要导入oracle驱动的jar包. 连接的时候,有statement和preparedstatement两种,从代码中可以看出不同. example: package com. ...
- 简单的JDBC连接oracle数据库例子
java连接Oracle数据库 JDBC(Java Data Base Connectivity,java数据库连接),那么我们该如何用java进行数据库的连接呢. import java.sql.C ...
- plsql连接oracle客户端(简单,实用方案)附件
plsql 连接 oracle 需要在本地安装oracle客户端(附件中下载): 将文件下载下来后,放到任意目录,例如 D:\instantclient_10_2 修改 tnsnames.ora 文件 ...
- Perl/C#连接Oracle/SQL Server和简单操作
连接数据库是一个很常见也很必须的操作.先将我用到的总结一下. 1. Perl 连接数据库 Perl 连接数据库的思路都是: 1)使用DBI模块: 2)创建数据库连接句柄dbh: 3)利用dbh创建语句 ...
随机推荐
- RMAN数据库异机迁移步骤
--RMAN数据库异机迁移步骤----------------------------2013/09/28 测试环境:AIX+ora11g 一. source数据库准备. 1.获取数据文件编号 ...
- linux mkfs命令参数及用法详解---linux格式化文件系统命令(包括swap分区)
mkfs 命令 linux格式化磁盘命令 linux mkfs 指令:mkfs 使用权限 : 超级使用者 使用方式 : mkfs [-V] [-t fstype] ...
- 有关SQL
1.SQL str函数是什么意思? 将数值型转换成指定长度的字符串.str()函数语法:str(数字类型的表达式[,表达式总长度][,小数点后面的位数]),表达式总长度和小数点后面的位数为可选择参数. ...
- 【管理工具】Kerberos简单应用
Kerberos这一名词来源于希腊神话“三个头的狗——地狱之门守护者”系统设计上采用客户端/服务器结构与DES加密技术,并且能够进行相互认证,即客户端和服务器端均可对对方进行身份认证.可以用于防止窃听 ...
- 黑盒测试用例设计方法&理论结合实际 -> 因果图法
一. 概念 因果图法是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况 二. 因果图法的应用 等价类划分法和边界值分析方法都是着重考虑输入条件,但没 ...
- Mac,WIN下支撑 IPV6的 sftp客户端
transmit 这样的话就可以使用 ipv6了,教育网的优势体现出来了,window下得 支撑 ipv6的sftp客户端 Bitvise SSH 和 WINSCP
- Zend studio注册码
Zend studio 7.1 注册码 username:lisijie_orgLicense Key:3F4F495657BF3F4A95657BF3 Zend studio 8 注册码(适用于7. ...
- hdu4587-TWO NODES(割点)
#include <bits/stdc++.h> using namespace std; ; ; struct Edge { int to, next; } edge[M]; int h ...
- 使用PHP输出中文JSON字符串
PHP 和 JavaScript 交互其实很方便,PHP 原生也提供了对 JSON 格式的支持.主要包括 JSON 编码和解码两个函数: 代码如下: json_endoce: http://cn.ph ...
- 教程-Supports判断接口(Instance)是否支持
function TCommandEnabledController.GetCommandVisible(const ACommandName: string): Boolean; var I: In ...