.net连oracle数据库的两个方法介绍
1. 安装oracle客户端,连接oracle

需要在客户端%oracle_client_home%network/admin/配置tnsnames.ora,以服务名aa为例,客户端和服务器服务名及连接串需要保持一致。服务名的配置实例如:

代码如下 复制代码
a =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = helen)(PORT = 1521))
    )
    (CONNECT_DATA =

(SERVER = DEDICATED)
      (SERVICE_NAME = a)
    )
  )

程序代码:

代码如下 复制代码
 String connOra = "Data Source=a;User ID=a;password=a;Unicode=True";

OracleConnection conn = new OracleConnection(connOra);
 conn.Open();www.111cn.net
  if (conn.State == ConnectionState.Open)
      Response.Write("DataOracle.aspx conn open success");
 else

Response.Write("DataOracle.aspx conn open failure");

2.不安装oracle客户端,连接oracle

不需要配置tnsnames.ora,把主机、端口、数据库ID(SID)写入连接字符串,其他连接同上。

新的连接字符串为:

代码如下 复制代码
Data Source= (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = helen)(PORT = 1521))) (CONNECT_DATA =  (SID= a) ));User ID=a;password=a;Unicode=True

公司用的是oracle10g,vs2010,都是32位的

1) oracle10g在64位win7无法直接安装,解决方法:在安装启动exe文件右键打开属性菜单,然后选择兼容性--->勾选以兼容性运行这个程序-->选择winxp,保存后可以安装。

2)之前用winxp32位系统,连接字符串是这样子的

代码如下 复制代码
<add name="SQLMembershipConnString2" connectionString="Data Source=ORCL;User Id=system;Password=123456;" providerName="Oracle.DataAccess.Client"/>

换到现在64位win7后一直不能运行,折腾了一天才知道竟然是连接字符串的问题。提示的错误是说oracle客户端版本不够高,不管连接字符串怎么改都是一样错误提示,百度后找到很多文章都是说权限不足原因(不确定是否有这个原因),改了后还是一样问题,这个问题折腾了我一天的时间!!,后来还下载了oracle的odp.net组件,32位的64位的各种折腾,都有错误提示,按错误提示在网上搜索都不能解决。以为framework的类和odp.net有兼容问题。后来他仔细看了odp.net的说明,本来打算是连接远程服务器,就试着用

代码如下 复制代码
 <add name="SQLMembershipConnString3" connectionString="Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.253.11)(PORT=1521)) (CONNECT_DATA=(SID=HZDB)));User Id=test;Password=123456;" providerName="Oracle.DataAccess.Client"/> www.111Cn.net

这样的字符串,因为之前大量变动的原因,所以也折腾了很久也没连上,正当我打算要放弃回家重装32位系统时,刷页面发现错误提示是“未找到表或视图”,我靠!然后就这样发现了问题的根源:连接字符串不对呀。然后换上System.Data.OracleClient也正常了。
经过测试发现另外一种写法也是可以的:

代码如下 复制代码
<add name="SQLMembershipConnString" connectionString="Data Source=
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.253.128)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = orcl)
        )
      );User Id=test;Password=123456;
" providerName="Oracle.DataAccess.Client"/>

更多详细内容请查看:http://www.111cn.net/net/37/47472.htm

最新文章

  1. javascript --- 设计模式之构造函数模式
  2. WebService 之 WSDL文件 讲解
  3. PHP 输出图像 imagegif 、imagejpeg 与 imagepng 函数
  4. ArcGIS API for Silverlight 实现修改地图上的工程点位置
  5. 查看Linux硬件配置信息
  6. iOS  如何判断当前网络连接状态  网络是否正常  网络是否可用
  7. Java学习IO篇
  8. Linux 调度器模拟
  9. 禁止多行文本框textarea拖拽
  10. POJ 3047 Fibonacci
  11. 非常基本的SQL 内外连接
  12. ERROR 1044 (42000): Access denied for user &#39;&#39;@&#39;localhost&#39; to database &#39;mysql&#39;
  13. html5 响应式布局(媒体查询)
  14. Cup
  15. vue中实现图片全屏缩放预览,支持移动端
  16. Teamviewer远程控制
  17. centos部署redis主从
  18. uniGUI试用笔记(四)
  19. hdu 3861 The King’s Problem trajan缩点+二分图匹配
  20. [UE4]Vertical Box结合Horizontal Box创建出类似微信的经典手机界面

热门文章

  1. I/O流的学习
  2. 教你50招提升ASP.NET性能(二十四):ORM小窍门
  3. 教你50招提升ASP.NET性能(二十):认识你的循环
  4. Minesweeper PC/UVa IDs: 110102/10189, Popularity: A,Success rate: high Level: 1
  5. mysql 找不到或无法加载已注册的 .Net Framework Data Provider
  6. Crystal Reports课程01-连接SQL Sever数据库
  7. Educational Codeforces Round 1 D. Igor In the Museum bfs 并查集
  8. Eclipse 环境下安装PhoneGap开发插件
  9. Asp.Net下载页面,并弹出下载提示框
  10. C#_ajax fileupload