您的位置:首页 > 数据库

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

2011-10-18 13:36 495 查看
在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的数据库反向却没有这样的报错,并且该目录下也没有对应的驱动。

资料来源请查看:/article/9787628.html



本例中,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,连接成功。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐