win7最新版,windows7纯净版,32/64操作系统下载
当前位置:网站首页 > 操作系统下载 > 正文

window7 Windows 7 Disc Images ISO Files

作者:admin发布时间:2021-07-22分类:操作系统下载浏览:247评论:12


导读:去连接的时候是按照引擎的版本去载入的版本。如果是的只能载入的。的SQLServer只能使用32bit的oracle的provider。2.很多SQLServer的图形界面工具都是3...

window7 Windows 7 Disc Images  ISO Files

去连接的时候是按照引擎的版本去载入的版本。如果是的只能载入的。的SQLServer只能使用32bit的oracle的provider。2.很多SQLServer的图形界面工具都是32bit的比如SSIS32位的import/exportwizard这些32bit的工具只能load32bit的oracleprovider。如果想知道这个工具是不是32bit的去检查工具所对应的exe文件是不是在programfiles(x86)子路径下。

3.Linkedserver去连接oracle的时候首先会读取tnsname.ora文件然后读取sqlnet.ora文件然后用SQLServr.exe直接去连oracle,连接成功以后会再次读取tnsname.ora文件然后开始载入oracleOLEDB的DLL文件。在64位操作系统上安装的32位SQLServer中读到的路径是这样的

(DESCRIPTION(ADDRESS(PROTOCOLTCP)(HOST10.1.2.118)(PORT1521))(CONNECT_DATA(SIDexpress)(CID(PROGRAMD:\ProgramFiles(x86)\MicrosoftSQLServer\MSSQL.1\MSSQL\Binn\sqlservr.exe)(HOSTSCT-IT-SQLTEST)(USERSYSTEM))))

在64bit的操作系统上按照32bit的SQLServer服务器以及32bit的oracle客户端是可以创建linkedserver和SSIS程序包的。但是oracle在处理包含括号文件全路径名称时有个bug这个bug在8i,9i和10g的版本上都存在。必须通过打oracle的补丁来解决。

以下报错由Oraclebug引起以下参考了官方定义关于此bug的文档

主题:在64位Windows操作系统上运行32位Oracle报错ORA-12154或者ORA-6413

原文档ID:334528.1

症状如果在64位Windows操作系统上运行32位Oracle客户端自Windows平台使用ODBC、OLEDB、OO4O、ODP.NET四种接口之一尝试联接Oracle数据库时将遇到以下报错信息

ORA-12154:TNS:couldnotresolvetheconnectidentifierspecified

或者

ORA-6413:Connectionnotopen.Cause64-bitMicrosoftOSsinstall32-bitapplicationsintothefollowinglocation

C:\ProgramFiles(x86)\...

ratherthanthetypicallocationof

C:\ProgramFiles\...

这将导致发生现有网络的错误因为网络层无法解析程序地址中包含的可执行文件是试图连接到Oracle的路径括号。

这个bug已被提出来如下修正方案

Bug3807408-CANNOTEXTERNALLYAUTHENTICATEUSERWITHQUOTEINUSERNAME

更多信息

之所以遇到ORA-6413或ORA-12154这是一般是取决于您选择用于连接到Oracle的编程接口。

错误ORA-12154是当使用最新的OCI接口连接时的典型错误接口包括

OracleODBCDriver

OracleProviderforOLEDB

OracleObjectsforOLE

OracleDataProviderfor.NET(ODP.NET)

Microsofts.NETManagedProviderforOracle

错误ORA-6413则是使用旧版本的接口即调用OracleOCIAPI7版本的接口

MicrosoftODBCDriverforOracle

MicrosoftOLEDBProviderforOracle

解决方案有如下两种

解决1:

使用Oracle软件包含Bug3807408补丁的版本

注意:目前为止已发布适用于Windows的补丁有

Windows32-bit

9.2.0.7.0Patch6:ApplyPatch4928723orlater

10.2.0.1.0Patch4:ApplyPatch4923768orlater

10.2.0.2.0Patch5:ApplyPatch5383042orlater

10.2.0.3.0:ApplyPatch5337014orlater

Windows64-bitAMD64andINTELEM64T

10.2.0.1.0Patch4:ApplyPatch4923787orlater

10.2.0.2.0Patch5:ApplyPatch5388871orlater

10.2.0.3.0:ApplyPatch5337014orlater

对于其他版本的Windows平台请使用解决方案2

解决方案2:

找到报错的应用程序路径检查是否含有括号如何有请重新配置该应用到一个没有括号的路径中

4.如果使用64bit的SQLServer服务器和64bit的oracle客户端linkedserver是可以工作的。但是oracle在64bit的OLEDBprovider上有个bug会导致连接服务器访问失败。

报错信息如Msg7333,Level16,State2,Line1

CannotfetcharowusingabookmarkfromOLEDBproviderOraOLEDB.Oraclefor

linkedserverlinkedservername.

这个问题在32位环境下使用32位MSDAORA(Microsoft’sOLEDBProviderforOracle)provider或者32-bitORAOLEDB(Oracle’sOLEDBProvider)provider时不会发生。只发生在使用64-bitORAOLEDBprovider时MSDAORA没有64位版本存在。

这是一个与Oracle的64位OLEDBprovider的已知问题。多数情况下客户发生错误信息到Oracle或通过Oracle补丁或升级Oracle提供程序解决了这一问题。

最新64位OracleOLEDBprovider版本是10.2.0.3.00.如果用户在使用低版本升级即可解决。

对此问题Oracle正事补丁#5084517Oracle关于bug1023的前提补丁#6166400也解决了早期部分用户的这一问题。看起来这些版本补丁都包含最新的Oracleprovider

5.如果在一个64位的SQLServer上想同时使用linkedserver和SSIS的BIDS去连oracle必须要同时安装64位和32位的oracle客户端。但是在oracle10g早期的版本中貌似有一个bug导致oracle10g的32位和64位客户端无法同时在一台机器上工作。不确定这个问题是否已经被解决。目前11g的32bit和64bitOracle客户端同时安装在一个机器上没有遇到这样的问题。

6.32位上还可以使用oracle的ODBCdriver创建ODBC数据源然后在创建linkedserver时候使用MicrosoftOLEDBforODBCprovider然后指向oracle的ODBC数据源。如果是64位的SQLServer2005默认安装是没有64bit的MicrosoftOLEDBforODBCprovider的。需要去下载并安装64位MicrosoftOLEDBforODBCprovider然后就可以按照同样的方法使用oracle的ODBC。http://www.microsoft.com/downloads/details.aspx?FamilyID000364db-5e8b-44a8-b9be-ca44d18b059bdisplaylangen

7.使用oracleODBCprovider比较容易遇到中文字符的问题建议尽量使用OLEDB的provider。

8.SQLServer对于oracleclientOLEDB和ODBC的支持和test只到oracle8.17的最后版本.这个版本中对于一些数据类型比如blob字段是不支持的。如果使用9i以及后续版本的oracleclient不能保证在连接和使用中不遇到任何兼容性问题。任何兼容性问题微软都不保证一定能解决方案。

9.对于oracleclient9i和10g的版本Microsoft.net的oracleprovider提供了兼容性支持。


已有12位网友发表了看法:

欢迎 发表评论: