该配置是在windows 7 32位下进行的,程序已经通过了测试(使用VBS进行的测试)
1.文件下载
--------------------------------------------------------------------------
下载地址/technetwork/topics/winsoft-085727.html
需要下载两个文件 instantclient-basic-nt-12.1.0.2.0.zip "/otn/nt/instantclient/121020/instantclient-basic-nt-12.1.0.2.0.zip"
instantclient-odbc-nt-12.1.0.2.0.zip "/otn/nt/instantclient/121020/instantclient-odbc-nt-12.1.0.2.0.zip"
到官网下载需要登陆 用户名:**** 密码:*****
将两压缩包进行解压。
将"instantclient-odbc-nt-12.1.0.2.0.zip"里面的所有文件和文件夹拷贝到"instantclient-basic-nt-12.1.0.2.0.zip"解压到的文件里面
假设将文件都放到了"xxx\instantclient_12_1"文件夹里面
--------------------------------------------------------------------------
2.安装client
-------------------------------------------------------------------------------------------
打开instantclient_12_1文件夹找到 cmd.exe(若没有则在system32下找到并拷贝过来) 右键"cmd.exe"文件点击以管理员身份运行。
输入"odbc_install.exe"点击Enter运行,若安装成功则会出现"Oracle ODBC Driver is installed successfully"
-----------------------------------------------------------------------------------------
3.环境变量需要配置的内容
鼠标右键计算机-->属性-->高级系统设置-->高级-->环境变量-->系统变量
-----------------------------------------------------------
ORACLE_HOMExxx\instantclient_12_1
Path 添加xxx\instantclient_12_1
TNS_ADMIN xxx\instantclient_12_1\network\ADMIN
------------------------------------------------------------
其中xxx\instantclient_12_1\network\ADMIN 文件夹中的 tnsnames.ora文件内容需要进行修改 将"TESTDB"中的"HOST=192.168.19.176"做修改若无tnsnames.ora文件则需要自己建
"SERVICE_NAME=ORCL" ORCL是SID
4.odbc需要配置的内容 开始-->控制面板-->管理工具-->数据源(ODBC)-->用户DSN-->添加
---------------------------------------------------------------
点击 "Oracle in instantclient_12_1" 点击 完成 在Oracle ODBC Driver Configuration对话口进行内容填写
=================================================================
Data Source Name 自己随便取个名字如:"bbb"
Description连接描述如:"xxxxxxxxx"
TNS Service Name 有两种方式进行一种是点击下拉tnsnames.ora配置的名称如"TESTDB"
另一种填写 IP地址+端口号+SID 如: "192.168.19.176:1521/ORCL"
UserID访问数据库的用户名
======================================================================
点击测试弹出"Oracle ODBC Driver Connect"对话口 填写好密码 点击"OK" 若连接成功则提示 "Connection successful"
至此odbc配置成功
---------------------------------------------------------------
测试
----------------------------------------------------------------------------------
BVS版
以下是一段vbs测试程序 拷贝下列文件取拓展名为".vbs"双击文档可以进行测试
其中的"database=sys"表示要访问的数据库名称是sys
找到"audit_actions"表中的行数并显示出来
'*******************************************'从我开始拷贝****************************************
Dim objConnection'CONNECTION对象实例 Dim objRecordSet'RECORDSET对象实例 Dim objCommand '命令对象实例 Dim strConnectionString '连接字符串 Sub ConnectDatabase() Set objConnection = CreateObject("ADODB.CONNECTION")'1 - 建立CONNECTION对象的实例strConnectionString = "Dsn=bbb;uid=bips48;pwd=m123;database=sys" '2 - 建立连接字符串objConnection.Open strConnectionStringSet objRecordSet = CreateObject("ADODB.RECORDSET")'4 - 建立RECORDSET对象实例 Set objCommand = CreateObject("MAND") '5 - 建立COMMAND对象实例 objCommand.ActiveConnection = objConnection mandText = "select count(*) from audit_actions" objRecordSet.CursorLocation = 3 objRecordSet.Open objCommand '6 - 执行SQL语句,将结果保存在RECORDSET对象实例中intArrayLength = objRecordSet.RecordCount '将查询结果的行数作为数组的长度 MsgBox intArrayLengthIf intArrayLength > 0 Then Do While NOT objRecordSet.EOF '将数据库查询的列值赋值给数组 MsgBox objRecordSet("COUNT(*)")objRecordSet.MoveNext LoopEnd If End Sub ConnectDatabase
'***************************************'拷贝到我结束*********************************
C#版
static void Main(string[] args){Console.WriteLine(DateTime.Now);System.Data.Odbc.OdbcConnectionStringBuilder connBuilder = new System.Data.Odbc.OdbcConnectionStringBuilder();connBuilder.Dsn = "bbb";connBuilder.Add("uid", "bips48");connBuilder.Add("pwd", "m123");connBuilder.Add("database", "sys");string sss = connBuilder.ToString();Console.WriteLine(connBuilder.ToString());System.Data.Odbc.OdbcConnection conn = new System.Data.Odbc.OdbcConnection(connBuilder.ToString());try{conn.Open();System.Data.Odbc.OdbcCommand comm = new System.Data.Odbc.OdbcCommand("select count(*) from audit_actions", conn);var reader = comm.ExecuteReader();while (reader.Read()){Console.WriteLine(reader[0].ToString());}Console.WriteLine("连接成功!");}catch (Exception e){Console.WriteLine(e);}finally{conn.Close();}Console.Read();}
----------------------------------------------------------------------------------