asp.net连接oracle的问题及方法总结
.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
最新文章
- javascript --- 设计模式之构造函数模式
- WebService 之 WSDL文件 讲解
- PHP 输出图像 imagegif 、imagejpeg 与 imagepng 函数
- ArcGIS API for Silverlight 实现修改地图上的工程点位置
- 查看Linux硬件配置信息
- iOS 如何判断当前网络连接状态 网络是否正常 网络是否可用
- Java学习IO篇
- Linux 调度器模拟
- 禁止多行文本框textarea拖拽
- POJ 3047 Fibonacci
- 非常基本的SQL 内外连接
- ERROR 1044 (42000): Access denied for user &#39;&#39;@&#39;localhost&#39; to database &#39;mysql&#39;
- html5 响应式布局(媒体查询)
- Cup
- vue中实现图片全屏缩放预览,支持移动端
- Teamviewer远程控制
- centos部署redis主从
- uniGUI试用笔记(四)
- hdu 3861 The King’s Problem trajan缩点+二分图匹配
- [UE4]Vertical Box结合Horizontal Box创建出类似微信的经典手机界面
热门文章
- I/O流的学习
- 教你50招提升ASP.NET性能(二十四):ORM小窍门
- 教你50招提升ASP.NET性能(二十):认识你的循环
- Minesweeper PC/UVa IDs: 110102/10189, Popularity: A,Success rate: high Level: 1
- mysql 找不到或无法加载已注册的 .Net Framework Data Provider
- Crystal Reports课程01-连接SQL Sever数据库
- Educational Codeforces Round 1 D. Igor In the Museum bfs 并查集
- Eclipse 环境下安装PhoneGap开发插件
- Asp.Net下载页面,并弹出下载提示框
- C#_ajax fileupload