在 Microsoft Windows 2008 Server 64 位上安装 Oracle 10 ODP.NET
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/862036/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Installing Oracle 10 ODP.NET on Microsoft Windows 2008 Server 64bit
提问by Guy Bertental
I've tried to install "Oracle10g Release 2 ODAC (64-bit) 10.2.0.3 for Windows x64" from: http://www.oracle.com/technology/software/tech/windows/odpnet/64-bit/index.html
我尝试从以下位置安装“适用于 Windows x64 的 Oracle10g 第 2 版 ODAC(64 位)10.2.0.3”:http: //www.oracle.com/technology/software/tech/windows/odpnet/64-bit/index .html
on Windows 2008 server 64bit, but it crushes right after i run the setup.exe with the following error:
在Windows 2008 服务器 64 位上,但它在我运行 setup.exe 后立即崩溃并出现以下错误:
Problem signature: Problem Event Name: APPCRASH Application Name: javaw.exe Application Version: 5.0.40.5 Application Timestamp: 42a019e4 Fault Module Name: StackHash_5c81 Fault Module Version: 6.0.6001.18000 Fault Module Timestamp: 4791adec Exception Code: c0000374 Exception Offset: 00000000000a6e97 OS Version: 6.0.6001.2.1.0.272.7 Locale ID: 1037 Additional Information 1: 5c81 Additional Information 2: fa1981fc0da3377cbbec45e762388188
Additional Information 3: 7698
Additional Information 4: 7defb6f15001721d919a359fb7888c17Read our privacy statement:
http://go.microsoft.com/fwlink/?linkid=50163&clcid=0x0409
问题签名: 问题事件名称: APPCRASH 应用程序名称: javaw.exe 应用程序版本: 5.0.40.5 应用程序时间戳: 42a019e4 故障模块名称: StackHash_5c81 故障模块版本: 6.0.6001.18000 故障模块时间戳: 4791adec 异常代码: c0000000604e版本:6.0.6001.2.1.0.272.7 区域设置 ID:1037 附加信息 1:5c81 附加信息 2:fa1981fc0da3377cbbec45e762388188
附加信息 3:7698
附加信息 4:7defb18c8c8c78f阅读我们的隐私声明:http:
//go.microsoft.com/fwlink/?linkid=50163&clcid=0x0409
can anyone direct me to a version that i can install the latesr version of ODP.NET for Windows 2008 server 64bit?
任何人都可以指导我安装适用于 Windows 2008 服务器 64 位的 ODP.NET 的最新版本的版本吗?
Best regards, Guy Bertental
最好的问候,Guy Bertental
回答by Bright
It's a really tricky. Before installing ODP.NET you need to already have working connection setup to oracle database. That means:
这真的很棘手。在安装 ODP.NET 之前,您需要已经有到 oracle 数据库的工作连接设置。这意味着:
Step 1: Oracle install client (never succeeded with that, not recommended) or Oracle client (succeeded on Win7 ultimate 64bit, file win64_11gR1_client.zip, installed with "Runtime" option selected). After client install make sure you can connect. From command line try "tnsping yourtnanamesentry" to check if tnsnames is ok, and after that "sqlplus username/pwd@yourtnsnamesentry" to check if you know valid user and password and really can connect. Memorize or write down oracle home name and path you choosed during install.
步骤 1:Oracle 安装客户端(从未成功过,不推荐)或 Oracle 客户端(在 Win7 Ultimate 64 位上成功,文件 win64_11gR1_client.zip,选择“运行时”选项安装)。客户端安装后确保您可以连接。从命令行尝试“tnsping yourtnanamesentry”以检查tnsnames是否正常,然后尝试“sqlplus username/pwd@yourtnsnamesentry”以检查您是否知道有效的用户名和密码并且真的可以连接。记住或记下您在安装过程中选择的 oracle 主目录名称和路径。
Step 2: Install ODP.NET (I did with file ODAC1110720.zip). Use exactly the same oracle home name, but different path during installation.
第 2 步:安装 ODP.NET(我使用文件 ODAC1110720.zip)。在安装过程中使用完全相同的 oracle 主目录名称,但使用不同的路径。
Step 3: try connecting with visual studio. For "server name" I used this: "oraclexe:1521/xe". That means I have machine called "oraclexe" which has oracle listener on port 1521, and database with instance name "xe". It's so-called "EZCONNECT" name.
第三步:尝试连接visual studio。对于“服务器名称”,我使用了这个:“oraclex:1521/xe”。这意味着我有一台名为“oraclex”的机器,它在端口 1521 上具有 oracle 侦听器,以及实例名称为“xe”的数据库。这就是所谓的“EZCONNECT”名称。
I'm not sure if Step 1 is really needed or not, because maybe step3 really uses just oracle instant client. I know, it is real pain, but this works. It took me 2 days to connect to oracle, and I had to install almost 1GB of downloaded oracle software. They could and should make that much, much, much, much easier. Like one-click install that just works. This is shame how complicated client install is.
我不确定是否真的需要第 1 步,因为也许第 3 步真的只使用 oracle 即时客户端。我知道,这是真正的痛苦,但这是有效的。连接oracle花了我2天的时间,我不得不安装将近1GB的下载的oracle软件。他们可以而且应该让这一切变得更加容易。就像一键安装一样有效。这是多么复杂的客户端安装是耻辱。
回答by Nathan
Donwload and install Oracle Database 11g Release 2 Client (11.2.0.1.0) for Microsoft Windows (32-bit) on your development computer. Delete former references to Oracle.DataAccess on your project. Add the new reference pointing to this new version. In Visual Studio, after adding the reference select it, then choose properties to check the setting. Set “Specific Version” true , then check that “Copy Local” is false. Build your solution using ANY CPU target.
在您的开发计算机上下载并安装适用于 Microsoft Windows(32 位)的 Oracle Database 11g 第 2 版客户端 (11.2.0.1.0)。删除项目中以前对 Oracle.DataAccess 的引用。添加指向此新版本的新引用。在 Visual Studio 中,添加引用后选择它,然后选择属性来检查设置。将“特定版本”设置为 true ,然后检查“Copy Local”是否为 false。使用任何 CPU 目标构建您的解决方案。
Next, prepare your server. Install Oracle Database 11g Release 2 Client (11.2.0.1.0) for Microsoft Windows (x64). When installing, select the RUNTIME OPTION.
接下来,准备您的服务器。安装适用于 Microsoft Windows (x64) 的 Oracle Database 11g 第 2 版客户端 (11.2.0.1.0)。安装时,选择RUNTIME OPTION。
Finally, deploy your solution to your server, as you always use to do. This time it should work.
最后,像往常一样,将您的解决方案部署到您的服务器上。这次应该可以了。
The trick is to have the same ODAC version (11.2.0.1.0) on both the development and deployment enviroments. This ODAC contains the Oracle.DataAcces.Client which you should reference on your code to access classes like OracleConnection, OracleDataReader, etc.
诀窍是在开发和部署环境中使用相同的 ODAC 版本 (11.2.0.1.0)。此 ODAC 包含 Oracle.DataAcces.Client,您应该在代码中引用它以访问 OracleConnection、OracleDataReader 等类。
I had problems because I had developed using ODAC 11.2.0.1.2 (32 bits, latest at this time) but there's no x64 version for this ODAC.
我遇到了问题,因为我是使用 ODAC 11.2.0.1.2(32 位,目前最新)开发的,但没有适用于此 ODAC 的 x64 版本。
So, always use the latest stable ODAC version which has 32 bits and 64 bits version if you are going to develop on 32 bits and deploy on 64 bits.
因此,如果您要在 32 位上进行开发并在 64 位上进行部署,请始终使用具有 32 位和 64 位版本的最新稳定 ODAC 版本。
回答by Steve
Hi Ran into your problem, solution is get a copy of 10204_vista_w2k8_x64_production_client.zip (http://www.oracle.com/technetwork/database/10204-winx64-vista-win2k8-082253.html) run this & it will install the client.
嗨,遇到您的问题,解决方案是获取 10204_vista_w2k8_x64_production_client.zip (http://www.oracle.com/technetwork/database/10204-winx64-vista-win2k8-082253.html) 的副本,运行它并安装客户端.
Unpack ODAC10203x64.zip then go to All Programs->OracleHome->Oracle Installation Products & run the Universal Installer. When the installer runs at the Specify Source Location browse to the Stage directory created when you unpacked ODAC10203x64.zip then install as normal.
解压 ODAC10203x64.zip,然后转到所有程序->OracleHome->Oracle 安装产品并运行通用安装程序。当安装程序在指定源位置运行时,浏览到解压 ODAC10203x64.zip 时创建的 Stage 目录,然后正常安装。
There is a ODAC112012.zip but this will not talk to Oracle 9 dB's so the above will resolve talking to legacy dB's.
有一个 ODAC112012.zip,但这不会与 Oracle 9 dB 对话,因此上述内容将解决与旧版 dB 对话的问题。
回答by RichardOD
回答by Mac
I had unexpected crashes in my application using Instant Client 10.2.0.3 on Windows Server 2008 x64. After reading a few posts about the lack of support for this platform, I upgraded the client to 11.1.0.7 and it works like a charm !
我在 Windows Server 2008 x64 上使用 Instant Client 10.2.0.3 的应用程序发生意外崩溃。在阅读了一些关于缺乏对该平台支持的帖子后,我将客户端升级到 11.1.0.7,它的工作原理非常棒!
So I would be surprised if ODP .NET 10.2.0.3 would be stable on Windows Server 2008 x64, if you ever managed to install it. IMHO, your options are :
所以如果 ODP .NET 10.2.0.3 在 Windows Server 2008 x64 上稳定,我会感到惊讶,如果你曾经设法安装它。恕我直言,您的选择是:
- use another provider (Microsoft+client v11.1, or DataDirect...).
- go with the 11.1.0.7 beta versionif you dare...
- 使用其他提供程序(Microsoft+client v11.1 或DataDirect...)。
- 如果你敢的话,请使用11.1.0.7 测试版......