相关疑难解决方法(0)

将C#连接到Oracle数据库所需的最小客户端占用空间是多少?

通过在笔记本电脑上下载并安装客户端管理工具和Visual Studio 2008,我已成功连接到C#(Visual Studio 2008)的Oracle数据库(10g).

Oracle客户端工具的安装占用空间超过200Mb,而且耗时很长.

有谁知道最小可行足迹是什么?我希望它是一个DLL和一个寄存器命令,但我觉得我需要安装一个oracle home,并设置各种环境变量.

我在我的代码中使用Oracle.DataAccess.

c# oracle client

71
推荐指数
6
解决办法
3万
查看次数

如何强制.NET应用程序以32位模式运行

我试图在Win7 x64上运行我的.NET 3.5 WinForms应用程序.该应用程序使用NHibernate和System.Data.OracleClient来访问Oracle数据库.Oracle客户端是32位.

启动应用程序时,我收到以下错误消息

尝试加载Oracle客户端库会引发BadImageFormatException.在安装了32位Oracle客户端组件的64位模式下运行时,将发生此问题.

为此,我将构建目标定位到x86平台:

Build设置的屏幕截图

令我惊讶的是,尝试在Win7平台上执行新版本时出现了相同的错误消息.

NHibernate程序集在运行时加载Assembly.Load("...");.

可能是NHibernate DLL仍然以64位模式运行,而主机exe以32位模式运行.这听起来很奇怪.或者可能是因为某种原因,我的应用程序运行在64位模式,即使它的目标是x86?


更新:

我使用CorFlags检查了我的二进制文件,它标记为32位:

Microsoft (R) .NET Framework CorFlags Conversion Tool.  Version  4.0.30319.1
Copyright (c) Microsoft Corporation.  All rights reserved.

Version   : v2.0.50727
CLR Header: 2.5
PE        : PE32
CorFlags  : 3
ILONLY    : 1
32BIT     : 1
Signed    : 0
Run Code Online (Sandbox Code Playgroud)

我也在任务管理器中检查了它,它有一个*32后缀.

我还尝试并使用CorFlags将32位标志添加到我的应用程序附带的所有程序集.它仍会产生相同的错误消息.

我很困惑......困惑......困惑......

64-bit x86 corflags .net-3.5

10
推荐指数
2
解决办法
2万
查看次数

标签 统计

.net-3.5 ×1

64-bit ×1

c# ×1

client ×1

corflags ×1

oracle ×1

x86 ×1