本文共 956 字,大约阅读时间需要 3 分钟。
您没有向我们展示您用于连接数据库的完整代码,但从注释到另一个答案您似乎正在使用OLE DB.我会避免使用它,特别是如果它似乎有一个数据源的128个字符的任意限制.
我还要指出,您也可以避免安装Oracle客户端,这是另一个应答者的建议.我对’即时’客户端没有太多经验,但是完整的客户端是一个大量的下载,并不是只需要能够将C#程序连接到Oracle.
相反,我们可以使用Oracle托管数据访问库.您可以使用NuGet安装它.去做这个:
>转到工具>库包管理器>包管理器控制台,
>确保在“默认项目”下拉列表中选择了正确的项目,
>输入
Install-Package odp.net.managed
这应该添加从NuGet下载库并将Oracle.ManagedDataAccess添加到项目的References.
然后,如果为Oracle.ManagedDataAccess.Client添加using指令,则以下代码应与Oracle数据库通信:
string connStr = "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=)));User Id=;Password=";
Console.WriteLine("Connection string has length " + connStr.Length);
using (var connection = new OracleConnection() { ConnectionString = connStr })
{
connection.Open();
OracleCommand command = new OracleCommand("SELECT * FROM DUAL", connection);
using (OracleDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
Console.WriteLine(reader.GetString(0));
}
}
}
转载地址:http://fhlyo.baihongyu.com/