【发布时间】:2017-04-13 05:10:48
【问题描述】:
我正在跑步:
- Windows 10 家庭版
- Oracle Database 11g 企业版 11.2.0.1 - 64 位版本
- Visual Studio Express 2013
我想编写一个简单的 C# 应用程序来从 Oracle 数据库中读取数据并想使用 ODP.NET。但是,在运行程序时,我会立即收到运行时错误。
我开始了一个新的 Windows 窗体项目。
我在目录 c:\app\Dave\product\11.2.0\dbhome_1\ODP.NET\bin\2.x\ 中链接了服务 Oracle.DataAccess.dll
我的代码是:
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace testapp_2
{
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}
代码:
using Oracle.DataAccess.Client;
using Oracle.DataAccess.Types;
namespace testapp_2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
OracleConnection conn = new OracleConnection();
}
}
}
错误是:
无法加载文件或程序集“Oracle.DataAccess,版本=2.112.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342' 或其之一 依赖关系。试图加载一个不正确的程序 格式。
在调试模式下运行时,程序在以下行停止:
Application.Run(new Form1());
我过去曾在 Windows XP 下的 Visual Stdio Express 2008 和 Oracle 10g 上成功使用过它,并认为这会像以前一样非常简单,但显然不是。
是否有其他人遇到此错误并希望找到解决方法?如果有任何帮助或信息,我将不胜感激。
非常感谢!
-戴夫。
【问题讨论】:
-
您需要明确地为 x86 或 x64 构建。还要检查 ODP.NET 是针对哪个平台制作的。
-
验证您的应用程序的架构(32 位或 64 位)是否与您的 Oracle 客户端相同。 ODP.NET 程序集。