C# 连接Oracle(利用ODP.net,不安装oracle客户端)
为了方便部署连接oracle的.net程序,oracle官方提供了一个简化版的client,即instant client。
通过instant client和ODP.net中的Oracle.DataAccess.dll,我们就可以方便的部署.net应用程序或者站点。
1. ODAC的安装
在oracle的官方网站上下载与你安装的oracle对应版本的ODAC。
下载地址:ODAC Download
下载好后解压安装,安装时不用安装全部的组件。主要安装以下组件:
- Oracle Instant Client
- Oracle Data Provider For .net2.0
- Oracle rovider For Asp .net
2. 环境变量的设置
设置Windows的环境变量:
ORACLE_HOME :ODAC的安装目录(类似 ~\app\Administrator\product\11.1.0\client_1)
LD_LIBRARY_PATH :%ORACLE_HOME%
TNS_ADMIN : :%ORACLE_HOME%
在PATH的最前面追加::%ORACLE_HOME%;
3. 监听文件tnsnames.ora的配置
在目录%ORACLE_HOME%下新建文件tnsnames.ora,内容如下:
1
2
3
4
5
6
7
8
9
|
数据库SID = (DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = Oracle主机名或者IP)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = 数据库SID)
)
) |
4. plsqldev
这样配置好后,plsqldev就可以连接上oracle数据库了
5. C#连接Oracle
C#连接oracle的示例代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
OracleConnection conn = new OracleConnection();
try { conn.ConnectionString = ConfigurationManager.ConnectionStrings[ "oradb" ].ConnectionString;
conn.Open();
string sql = " select id,content from test" ; // C#
OracleCommand cmd = new OracleCommand(sql, conn);
cmd.CommandType = CommandType.Text;
OracleDataReader dr = cmd.ExecuteReader(); // C#
List< string > contents = new List< string >();
while (dr.Read())
{
contents.Add(dr[ "content" ].ToString());
}
listBox1.ItemsSource = contents;
} catch (Exception ex)
{ MessageBox.Show(ex.Message);
} finally { conn.Clone();
} |
在程序app.config或者web.config中追加数据库连接的配置
<connectionStrings> <add name="oradb" connectionString="Data Source=(DESCRIPTION= (ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.1)(PORT=1521))) (CONNECT_DATA=(SERVICE_NAME=****))); User Id=***;Password=***;"/> </connectionStrings>
还可以参考官方的文档,不过是英文的,呵呵!
Build a .NET Application on the Oracle Database with Microsoft Visual Studio 2010
相关推荐
C#连接Oracle所需的ODP.NET,这里是从Oracle网站下载的, 现在在官网上下载的几乎都是12g版本了。
花了很长时间寻找c#无客户端的必备dll文件,csdn几个都下载了尝试发现不能用,最后还是从oracle官网下载了完整包,并从里面提取了几个dll文件。 注:该dll支持.net framework 4.0,并在vs2010内测试通过,使用2.0的就...
c# 连接 oracle 11数据库 免安装客户端 odp.net 小小的问题也阻扰了2个多小时,主要是dll的问题,看bin下dll(一共7个). 各种版本不兼容,试了很多方式最后终于成功,现拿出来分享下。 Oracle.DataAccess.Client...
对于asp.net访问oracle数据库,微软已经再支持data.oraclecliet,意见使用odp.net来访问oracle了哦。比data.oraclecliet访问数据库效率更高的odp.net,使用微软的oraclehelper改写得到
oracle ODP.NET 批量插入或更新
ODP.NET_Managed121020
本文将介绍C#利用ODP.net连接Oracle数据库的操作方法,需要的朋友可以参考下
被C#无客户端访问Oracle数据库的问题折磨了好久,终于整明白了。 需要的朋友可以下载自测。 资源提取自ODAC112040Xcopy_64bit 环境说明(开发环境系统要求是64位,其它的不限制可自测): 开发环境:win7 64位,VS...
使用C#(Odp.Net)操作Oracle数据库:免安装Oracle客户端,利用即时客户端文件(11_2),与x64 Odp.Net,操作数据库。亲测可用。 x64的只能在64位系统上运行。而x86可以在32位和64位系统上运行。 x86下载路径:...
对于asp.net访问oracle数据库,微软已经再支持data.oraclecliet,意见使用odp.net来访问oracle了哦。比data.oraclecliet访问数据库效率更高的odp.net,使用微软的oraclehelper改写得到 ------------- 非常感谢 ...
Oracle数据访问组件(ODAC),于Visual Studio 2017的Oracle开发工具 - MSI安装程序
ODP.NET 允许开发人员利用高级的 Oracle 数据库功能(包括 Real Application Clusters、XML DB 和高级安全性)。这个数据提供程序可与最新的 .NET Framework 版本 4 结合使用。 ODP.NET 使得从 .NET 中使用 Oracle ...
C# 免安装ORACLE客户端访问数据库 正式版 亲测可用 在工作中遇到的问题,知道缺几个DLL,...也可以替换原来dll 即可使用,如果已经安装客户端并且为9i及以下得,不能运行。需要10g以上版本的客户端,或者没有客户端。
由oracle开发用于c#连接oracle数据库的dll类库
针对oracle的帮助类库 累死sqlhelper
核心的dll,就是common目录下的Oracle.ManagedDataAccess.dll,不象ODP.NET以前的版本,这次终于不用区分x86/x64版本了,不管是32位还是64位,都是同一个dll。. 我测试发现:c、Easy Connect Naming Method:...
内容:使用ODP.net64bit连接Oracle 11g 64bit,无需安装端。 资源:ODP.net,Oled,连接错误解决方案
1、将oci.dll、ociw32.dll、Oracle.DataAccess.dll、orannzsbb11.dll、oraocci11.dll、oraociicus11.dll、OraOps11w.dll拷...在没有安装oracle客户端的情况下,可连接oracle数据库执行各种操作 已测试,附件中含测试代码
免安装Oracle客户端的两种操作数据库的方式及代码 1.通过微软的OleDb调用,调用oracle类库放到bin文件夹,也可以在代码里设置字符集 2.通过Oracle提供的ODP.net调用