在ODI11g中创建Microsoft SQL Server服务器测试报错问题

在ODI11.1.1.5.0中创建了Microsoft Sql Server的服务器,

JDBC驱动程序名称选择了Microsoft SQL Server 2005 Driver for JDBC (com.microsoft.sqlserver.jdbc.SQLServerDriver)

所有参数配置妥当,进行测试时,系统报错:

oracle.odi.core.exception.OdiRuntimeException: java.lang.IllegalArgumentException: Could not load JDBC driver class [com.microsoft.jdbc.sqlserver.SQLServerDriver]
at oracle.odi.core.datasource.provider.AbstractDataSourceProvider.configure(Unknown Source)
at oracle.odi.core.datasource.support.DefaultDataSourceManager.createAndConfigureDataSourceProvider(Unknown Source)
at oracle.odi.core.datasource.support.DefaultDataSourceManager$1.create(Unknown Source)

查看资料,发现在ODI11g中有两处地方是可以放置驱动文件的:<WINDOWS_USER_HOME>\AppData\Roaming\odi\oracledi\userlib<ODI_HOME>/agent/oracledi/drivers

两个文件夹的放置意图是不同的,对于ODI的服务器端,可将驱动放在<ODI_HOME>\agent\drivers下,当进行数据库连接时,自动会调用服务器端的驱动,而用于连服务器的客户端,由于它们是没有<ODI_HOME>\oracledi\agent\目录的,因此在连接时即需要将驱动放在:<WINDOWS_USER_HOME>\AppData\Roaming\odi\oracledi\userlib,用本地代理进行连接。例如,在对Ms SqlServer的模型进行反向时,如果使用本地代理,也会报找不到驱动的错,将该驱动添加到userlib目录下,即可解决问题。比较好奇的是,为何Oracle的数据库反向却没有这样的报错,并且该目录下也没有对应的驱动。

资料来源请查看:http://blog.csdn.net/qingqingxuelang/article/details/6884244

本例中,ODI服务器为本机,解决方法如下:

1、去Microsoft官网下载驱动Microsoft SQL Server 2005 JDBC Driver 1.2,下载地址为:http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=c47053eb-3b64-4794-950d-81e1ec91c1ba

2、解压下载的驱动,将sqljdbc.jar放到<ODI_HOME>\agent\drivers目录下

3、在<ODI_HOME>\agent\bin目录下启动代理,命令如下:agent.bat "-NAME=ScheduleAgent" "-PORT=20913"

4、测试服务器连接,选择ScheduleAgent,连接成功。

阅读更多
个人分类: ODI
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭