C#利用System.Data.OracleClient实现不安装Oracle客户端访问远程服务器数据
来源:互联网 发布:mac版ae cc破解补丁 编辑:程序博客网 时间:2024/06/06 01:01
具体步骤步骤如下:
第一步:下载Instant Client 文件
Oracle官方网站提供了Instant Client文件的下载,下载地址为:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html,里面提供了支持不同操作系统和不同Oracle版本的对应下载,根据不同需求自己选择。
我的系统环境如下:
数据库服务器:WindowsServer2008x64
数据库服务端:oracle11.2.0.1.0
客户端系统:Windows7x64
因此我选择下载了instantclient-basic-win-x86-64-11.2.0.1.0.zip
只需在客户端将其解压即可(位置任意),我解压在d盘根目录,生成一个文件夹d:\instantclient_11_2(然后将其修改成oracleclient,根据自己需要修改),里面就是连接远程数据库要用到的dll文件。第二步:配置环境变量
1、 在PATH变量中增加【;D:\oracleclient】,即就是刚才我们解压Instant Client所在的目录;
2、增加以下三个变量:
NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
TNS_ADMIN= D:\oracleclient
LD_LIBRARY_PATH= D:\oracleclient
第三步:配置tnsnames.ora文件
在 D:\oracleclient目录中增加一个tnsnames.ora文件,内容为访问数据库的配置信息。具体步骤为:新建一个txt文档,然后将一下内容复制进去,另存为tnsnames.ora即可。
ORCL=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS =
(PROTOCOL = TCP)
(HOST = 192.168.1.107)
(PORT = 1521)
)
)
(CONNECT_DATA =
(SERVICE_NAME = lottery)
)
)
其中的HOST、PORT、SERVICE_NAME需要根据数据库实际信息进行修改。
此时在C#代码中的连接字符串可以按如下方式定义:
String conn =@"DataSource=ORCL;Persist Security Info=True;User Id=用户名;Password=密码";
否则,如果想省略第三步,在C#代码中的连接字符串必须按如下方式定义:
String conn =String.Format("Data Source=(DESCRIPTION = (ADDRESS_LIST = (ADDRESS= (PROTOCOL = TCP)(HOST = 192.168.1.107)(PORT = 1521))) (CONNECT_DATA=(SERVICE_NAME = lottery) ) );User Id=用户名;Password=密码;");
第四步:重启系统
C#代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.OracleClient;
namespace TestOracle
{
class Program
{
static void Main(string[] args)
{
String conn = @"Data Source=ORCL;Persist Security Info=True;User Id=testdb;Password=manager";
String conn1 = String.Format("Data Source=(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.107)(PORT = 1521))) (CONNECT_DATA =(SERVICE_NAME = lottery) ) );User Id=testdb;Password=manager;");
OracleConnection oc = new OracleConnection(conn);
try
{
oc.Open();
OracleCommand cmd = oc.CreateCommand();
cmd.CommandText = "select sysdate from dual";
OracleDataReader odr = cmd.ExecuteReader();
while (odr.Read())
{
Console.WriteLine(odr.GetDateTime(0).ToString());
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
finally
{
oc.Close();
}
Console.Read();
}
}
}
运行结果:
- C#利用System.Data.OracleClient实现不安装Oracle客户端访问远程服务器数据
- C#不安装Oracle客户端连接Oracle数据库,使用微软自带System.Data.OracleClient访问Oracle
- C#实现不安装Oracle客户端访问远程oracle服务
- C#远程连接Oracle数据库(通过System.Data.OracleClient)
- 关于C#连接oracle数据报System.Data.OracleClient 需要 Oracle 客户端软件 version 8.1.7 或更高版本
- 解决System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7
- C# VS2010中,用微软自带的System.Data.OracleClient来连接Oracle数据
- 解决 c#连接Oracle 提示system.data.oracleclient 需要 oracle 客户端软件 8.1.7 或更高版本
- 不安装Oracle客户端访问服务器数据库
- IIS连接oralce数据提示“System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本”
- XP下解决“system.web.services.protocols.soapexception:服务器无法处理请求。…〉system.exception:system.data.oracleclient 需要oracle客户端软件8.1.7或更高版本。
- 连接oracle数据库异常System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本
- 关于oracle连“System.Data.OracleClient需要Oracle客户端软件8.1.7或更高版本”
- System.Data.OracleClient 与Oracle.ManagedDataAccess.Client
- System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本
- System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本
- System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本
- System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本
- 冒泡排序
- C语言小编程之判断一个数是否是2的n次方的巧妙方法
- DOM操作表格
- wampserver连接本机数据库方法
- JVM初窥:垃圾收集器(一)
- C#利用System.Data.OracleClient实现不安装Oracle客户端访问远程服务器数据
- 深入理解JavaScript系列(10):JavaScript核心(晋级高手必读篇)
- 代码selenium自动化执行指定路径下的所有用例文件
- Zookeeper与Paxos
- PAT1058 选择题(20)
- python3.5下安装numpy,scipy,sklearn,pandas,matplotlib,jieba,requests
- 2017年5月14日爱奇艺算法比赛
- 算法课第12周第1题——62. Unique Paths
- 深入理解JavaScript系列(11):执行上下文(Execution Contexts)