https://www.cnblogs.com/mq0036/p/11052359.html
推荐使用oracle.ManagedDataAccess.dll(oracle.ManagedDataAccess.Client)全托管驱动。实际使用发现,oracle全托管驱动对32位和64位oracle数据库具有很好的连接兼容性。可采用无客户端远程连接oracle,或在本机使用连接
<add name="oraclestr" connectionString="Data Source=(DESCRIPTION=(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521))
)(CONNECT_DATA=(SERVICE_NAME=xe))
);User Id=outpbill;Password=password">
<add name="oraclestr" connectionString="Data Source=(DESCRIPTION=(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=TCP)(HOST=xxx)(PORT=1521))
(ADDRESS=(PROTOCOL=TCP)(HOST=xxxx)(PORT=1521))
(LOAD_BALANCE = yes))(CONNECT_DATA=(SERVICE_NAME=xe))
);User Id=system;Password=password"/>
/// <summary>
/// 执行一条计算查询结果语句,返回查询结果(object)。
/// </summary>
/// <param name="SQLString">计算查询结果语句</param>
/// <returns>查询结果(object)</returns>
public static object GetSingle(string SQLString)
{
using (var connection = new OracleConnection(m_ConnectionString))
{
using (var cmd = new OracleCommand(SQLString, connection))
{
try
{
connection.Open();
object obj = cmd.ExecuteScalar();
if ((Equals(obj, null)) || (Equals(obj, DBNull.Value)))
{
return null;
}
return obj;
}
catch (OracleException e)
{
connection.Close();
throw new Exception(e.Message);
}
}
}
}
public static bool Exists(string strSql)
{
object obj = GetSingle(strSql);
int cmdresult;
if ((Equals(obj, null)) || (Equals(obj, DBNull.Value)))
{
cmdresult = 0;
}
else
{
cmdresult = int.Parse(obj.ToString());
}
if (cmdresult == 0)
{
return false;
}
return true;
}
本文介绍了如何使用oracle.ManagedDataAccess.dll全托管驱动进行Oracle数据库的连接和操作,包括连接字符串的配置示例以及执行SQL查询的方法。示例代码展示了如何打开连接、执行SQL查询并处理结果,适用于无客户端远程连接或本地连接。

366

被折叠的 条评论
为什么被折叠?



