.net 访问Oracle的连接字符串 (果然BT)
2008-08-19 10:31
337 查看
方法一:通过System.Data.OracleClient(需要安装Oracle客户端并配置tnsnames.ora) 这个大家都知道,就不细说了
oracleConnectionString : data source = orcl;user id= scott; password=tiger;persist security info=false;
方法二,是利用OldeDb 来连接
oracleConnectionString :
Provider=OraOLEDB.Oracle.1;User ID=scott;Password=tiger;Data Source=(DESCRIPTION = (ADDRESS_LIST= (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.125.250)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = orcl)))
貌似MSDN上OledbCommandType 没有可以对应Oracle 的 ref Cursor ,所以就抛弃了他,
方法三:需要oracle客户端,但是不需要配置tnsnames.ora
连接字符串 oracleConnectionString
User ID=scott;Password=tiger;Data Source=(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST=10.10.125.250)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=orcl)))
但是按照网上的Demo来做,经常提示:
未处理的“System.ArgumentException”类型的异常出现在 system.data.oracleclient.dll 中。
其他信息: Invalid length for connection option 'data source', maximum length is 128.
难道是代码给错了?
经过计算oracleConnectionString 他的长度是在180以上 ?
我就把其中一些的空格给去了,一个一个试,想法果然够BT
竟然没有Exception,不会是长度的限制吧,我就再一个一个把空格加上,结果貌似长度不超过 177 ,就可以连接上去? 难道真的这么BT
string strconn ="User ID=scott;Password=tiger;Data Source=(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST=10.10.125.250)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=orcl)))";
MessageBox.Show(strconn.Length.ToString());
System.Data.OracleClient.OracleConnection oraConn =new System.Data.OracleClient.OracleConnection(strconn);
try
{
oraConn.Open();
MessageBox.Show(oraConn.State.ToString()); //177
}
catch (Exception ex)
{
MessageBox.Show(ex.Message );
}
finally
{
oraConn.Close();
}
oracleConnectionString : data source = orcl;user id= scott; password=tiger;persist security info=false;
方法二,是利用OldeDb 来连接
oracleConnectionString :
Provider=OraOLEDB.Oracle.1;User ID=scott;Password=tiger;Data Source=(DESCRIPTION = (ADDRESS_LIST= (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.125.250)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = orcl)))
貌似MSDN上OledbCommandType 没有可以对应Oracle 的 ref Cursor ,所以就抛弃了他,
方法三:需要oracle客户端,但是不需要配置tnsnames.ora
连接字符串 oracleConnectionString
User ID=scott;Password=tiger;Data Source=(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST=10.10.125.250)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=orcl)))
但是按照网上的Demo来做,经常提示:
未处理的“System.ArgumentException”类型的异常出现在 system.data.oracleclient.dll 中。
其他信息: Invalid length for connection option 'data source', maximum length is 128.
难道是代码给错了?
经过计算oracleConnectionString 他的长度是在180以上 ?
我就把其中一些的空格给去了,一个一个试,想法果然够BT
竟然没有Exception,不会是长度的限制吧,我就再一个一个把空格加上,结果貌似长度不超过 177 ,就可以连接上去? 难道真的这么BT
string strconn ="User ID=scott;Password=tiger;Data Source=(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST=10.10.125.250)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=orcl)))";
MessageBox.Show(strconn.Length.ToString());
System.Data.OracleClient.OracleConnection oraConn =new System.Data.OracleClient.OracleConnection(strconn);
try
{
oraConn.Open();
MessageBox.Show(oraConn.State.ToString()); //177
}
catch (Exception ex)
{
MessageBox.Show(ex.Message );
}
finally
{
oraConn.Close();
}
相关文章推荐
- .net 访问Oracle的连接字符串 (果然BT)
- .net 访问Oracle的连接字符串
- .net 访问Oracle的连接字符串(转)
- .net 访问Oracle的连接字符串
- Oracle ODP.NET数据库访问连接字符串
- .net 访问Oracle的连接字符串
- .net 使用管道方式访问mySQL的连接字符串
- .net 连接ORACLE 数据库字符串
- .net 连接oracle字符串
- PHP连接Oracle并分页访问
- .net远程连接oracle数据库不用安装oracle客户端
- arcgis 连接oracle各种实例字符串(各种版本写法不一样)
- 关于C#,.net 访问oracle中文乱码问题
- Oracle多行记录合并/连接/聚合字符串的几种方法[转]
- win7下.NET连接oracle,提示错误OCIEnvCreate 失败,返回代码为 -1,但错误消息文本不可用
- .NET中使用ODP(Oracle.DataAccess)连接Oracle数据时出现的异常
- .NET的EF框架中:在应用程序配置文件中找不到名为“”的连接字符串问题
- Windows 2003上Oracle通过端口映射访问连接超时的解决办法
- aspnet oracle连接字符串 连接虚拟机
- .Net 中访问Oracle 数据表,出现OCI-22053: overflow error