【发布时间】:2017-03-16 08:21:04
【问题描述】:
我正在尝试连接在 Oracle 11g 中创建的数据库。这是我想用来检查 VS 中的连接的简单代码,但它甚至不起作用:
OleDbConnection conn = new OleDbConnection("Provider=MSDAORA; Data Source = localhost; User ID = library; Password = library; Unicode = True");
private void button1_Click(object sender, EventArgs e)
{
conn.Open();
}
单击按钮时出现此错误:
System.Data.dll 中出现“System.Data.OleDb.OleDbException”类型的未处理异常
附加信息:尝试检索错误 ORA-01019 的文本时出错
当我进入服务器资源管理器 --> 添加连接并输入我的数据库信息时,它工作正常,并且连接显示在服务器资源管理器中。
我也在 VS 中收到警告:
严重性代码描述项目文件行抑制状态 警告 正在构建的项目的处理器架构“x86”与参考“Oracle.DataAccess, Version=4.112.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342, processorArchitecture=AMD64”, “AMD64”的处理器架构不匹配”。这种不匹配可能会导致运行时失败。请考虑通过配置管理器更改项目的目标处理器体系结构,以便在项目和参考之间对齐处理器体系结构,或者依赖具有与项目的目标处理器体系结构匹配的处理器体系结构的参考。书目1
【问题讨论】:
-
您应该使用托管 oracle 客户端。 nuget.org/packages/Oracle.ManagedDataAccess。您还应该使用 c# 或 .net 检查/搜索 SO 中的 oracle 错误
ORA-01019。 -
这个正确的连接字符串怎么样 =>
Provider=OraOLEDB.Oracle;Data Source=localhost;User Id=library; Password=library; -
@CodeNotFound,用这个字符串我得到错误,提供者 OraOLEDB.Oracle 没有在本地机器上注册。