如何建立Micrpsoft SQL Server到ODI的JDBC驱动程序连接_Tomcat, WebLogic及J2EE讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Tomcat, WebLogic及J2EE讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 5390 | 回复: 0   主题: 如何建立Micrpsoft SQL Server到ODI的JDBC驱动程序连接        下一篇 
masy
注册用户
等级:少校
经验:1234
发帖:182
精华:0
注册:2011-11-4
状态:离线
发送短消息息给masy 加好友    发送短消息息给masy 发消息
发表于: IP:您无权察看 2011-12-26 12:10:46 | [全部帖] [楼主帖] 楼主

适用于:
Oracle Data Integrator - Version: 3.2.03.01 and later   [Release: 3.2.03 and later ]
此文档的信息内容适用于任何平台。
Goal
建立JDBC连接到Microsoft SQL Server数据库并且不会出现任何已知的兼容性问题什么做法是最佳的在?
在个别情况,当试图使用如下的Microsoft JDBC DriverURL连接Microsoft SQL Server(2000/2005):
jdbc:microsoft:sqlserver://myHost:1433
可能会显示如下的错误信息:
connection failed
java.lang.Exception: com.sunopsis.sql.e: com.microsoft.jdbc.sqlserver.SQLServerDriver
at com.sunopsis.graphical.b.gr.a(gr.java)


北京联动北方科技有限公司java.sql.SQLException [MS SQL Server 2000 JDBC Driver] Can't start cloned connection while in manual transaction mode.

北京联动北方科技有限公司[Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]The incoming tabular data stream (TDS) remote procedure call (RPC) protocol stream is incorrect. Parameter 1 (""): Data type 0x38 is unknown.

请参考注意事项:424428.1是经常显示的错误信息。

解决方案

参考如下的Microsoft SQL Server JDBC驱动程序版本对应的.jar文件


SQL Server JDBC driver version

JDBC driver files

Microsoft SQL Server 2000 JDBC Driver

msutil.jar

mssqlserver.jar

msbase.jar

Microsoft SQL Server 2005 JDBC Driver 1.0

Microsoft SQL Server 2005 JDBC Driver 1.1

Microsoft SQL Server 2005 JDBC Driver 1.2

Microsoft SQL Server JDBC Driver 2.0

Microsoft SQL Server JDBC Driver 3.0

and more recent

sqljdbc.jar (or sqljdbc4.jar, if the version of Java is 1.6 or higher)


必须将对应版本的JDBC驱动程序.jar文件复制到Oracle数据集成器(ODI)��”drivers”目录下。
Microsoft JDBC驱动程序版本和JVM之间的兼容性参考如下:
注意807235.1对于Java虚拟机和与ODI使用的JDBC驱动程序的兼容性在Microsoft SQL Server JDBC驱动程序的Java类。



SQL Server JDBC driver version

Java class


Microsoft SQL Server 2000 JDBC Driver

com.microsoft.jdbc.sqlserver.SQLServerDriver

Microsoft SQL Server 2005 JDBC Driver 1.0

Microsoft SQL Server 2005 JDBC Driver 1.1

Microsoft SQL Server 2005 JDBC Driver 1.2

Microsoft SQL Server JDBC Driver 2.0

Microsoft SQL Server JDBC Driver 3.0

and more recent

com.microsoft.sqlserver.jdbc.SQLServerDriver


Microsoft SQL Server JDBC驱动程序连接的URL


SQL Server JDBC driver version

Connection URL

Microsoft SQL Server 2000 JDBC Driver

jdbc:microsoft:sqlserver://serverName\instance:port;property=value[;property=value]

Examples:

jdbc:microsoft:sqlserver://myHost:1433;selectMethod=cursor

jdbc:microsoft:sqlserver://myHost:1433;selectMethod=cursor;databaseName=myDB

Microsoft SQL Server 2005 JDBC Driver 1.0

Microsoft SQL Server 2005 JDBC Driver 1.1

Microsoft SQL Server 2005 JDBC Driver 1.2

Microsoft SQL Server JDBC Driver 2.0

Microsoft SQL Server JDBC Driver 3.0

and more recent

jdbc:sqlserver://serverName\instance:port;property=value[;property=value]

Examples:

jdbc:sqlserver://myHost:1433;selectMethod=cursor

jdbc:sqlserver://myHost:1433;selectMethod=cursor;databaseName=myDB

jdbc:sqlserver://myHost:1433;selectMethod=cursor;databaseName=myDB;responseBuffering=adaptive


Setting Up
1. 检查并确保你的Microsoft SQL Server服务器的身份验证模式的设置”SQL Server and Windows”或者是”Mixed”.否则Oracle数据集成器(ODI)是无法连接到数据库的。
2. 创建Oracle数据集成器(ODI)数据服务器到拓扑管理器>物理架构之前,请停止所有的ODI进程,并且将JDBC驱动程序文件放入到ODI”/drivers”文件夹下。
3. 确保该数据库是由ODI分配给用户账户的默认数据库连接,并且密码也是正确的。
4. 使用如下的例子,验证(在你的Microsoft SQL Server网络配置中)1433端口在TCP/IP下是有效的
在下面的表中说明Microsoft JDBC 驱动程序版本和Microsoft SQL Server数据库版本之间的兼容性:
Yes



SQL Server JDBC driver version

SQL Server 2000

SQL Server 2005

SQL Server 2008

SQL Server 2008R2

Microsoft SQL Server 2000 JDBC Driver

Yes

No

No

No

Microsoft SQL Server 2005 JDBC Driver 1.0

Microsoft SQL Server 2005 JDBC Driver 1.1

Microsoft SQL Server 2005 JDBC Driver 1.2

Yes

Yes

No

No

Microsoft SQL Server JDBC Driver 2.0

Yes

Yes

Yes

No

Microsoft SQL Server JDBC Driver 3.0 (and more recent)

Yes

Yes

Yes

Yes


可以使用如下的链接下载更高版本的Microsoft SQL Server JDBC驱动程序:
http://msdn.microsoft.com/en-us/data/aa937724.aspx
Concerning the:


北京联动北方科技有限公司Microsoft SQL Server 2005 JDBC Driver, and

北京联动北方科技有限公司Microsoft SQL Server JDBC Driver:

5. Microsoft SQL Server 2005 JDBC驱动程序在Java1.3.1不兼容在java1.4.1也不兼容。

以下的错误信息是由于缺少”java.util.logging.Logger”类造成的(java1.4.2之后开始实现此类)
java.lang.NoClassDefFoundError
当使用一个Oracle数据集成器(ODI)代理,执行之后将会出现如下的错误信息:
com.sunopsis.sql.SnpsConnectionTimeoutException: Sunopsis TimeOut
6. 在使用”selectMethod=cursor”属性只能在JDBC驱动程序1.1版本之后开始。
对于早期版本,可能会出现如下的错误信息:
sp_cursoropen/sp_cursorprepare:这个语句参数只能是一个批处理语句或者单一地选择一个查询存储过程,没有浏览,COMPUTE BY,或者变量赋值。
根据如下:
http://blogs.msdn.com/angelsb/archive/2006/08/22/713417.aspx
这是由于Microsoft SQL Server 2005 JDBC驱动程序的#436718 bug造成,出现在1.1的驱动版本。
7. 在JDBC驱动程序1.2版本开始,除了”selectMethod=cursor”之外使用“responseBuffering=adaptive”可能有助于减少如下情况:
o对内存数的占用
o需要花费时间来执行一个简单的SELECT语句。
See:
http://blogs.msdn.com/jdbcteam/rss.xml(此链接说明了什么是适应性反应缓冲和我为什么要使用它?)
8.如果ODI套件是在Microsoft SQL Server 2005 或者2008内部:
a)在ODI拓扑管理做等效的Microsoft SQL Server数据服务器连接测试成功,但是
b)当在拓扑或者设计器的”login”窗口点击OK,连接没有响应,然后核查Microsoft SQL Server的管理配置的命名管道��否禁用。
启用命名管道后,连接将开始正常工作。


该贴被masy编辑于2011-12-26 12:13:26




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论