因为在之前文章sybase链接sqlserver中提到过sybse odbc的创建,所以在本文中直接对odbc进行使用。
kettle9 不支持jdk1.7 ,而目前使用的是jdk1.8,jdk1.8不支持odbc连接,所以该方案被pass。
经查资料果断换kettle6能够支持jdk1.7,但是如果你想保留jdk1.8而且不想换环境变量,那么需要对kettle6指定jdk版本,这个’度娘‘很清楚。接下来kettle6能够通过odbc顺利得连接sybase,但是在读表得时候会出错:DatabaseMeta is not JNDI, it is ODBC。这个错误很让人绝望,网上查了一下大概还是说驱动的问题,那只能换了。sybase odbc驱动版本太难找,只好转战jdbc。
这个时候,我从网上花钱下载了jconn3和4,然后直接开连,连接时候报错,大致意思是你没有jtds驱动……不明所以去网上查了查,jtds也是sybase的jdbc的一种驱动,是第三方提供的,kettle应该是默认使用这个驱动的。紧接着我惊喜发现,这个驱动是免费下载的,果断下载了个1.2.2版本,顺利能够连接,但是在读表的时候又出错了,用kettle6和9报的错还不一样,错误在网上也没有具体的解决办法,大致的意思还是说驱动有问题,因为jtds是免费的,我就开始疯狂下载各种版本,从1.0,1.2,1.3……都失败了。就在我绝望的时候,我又去看sybase的jdbc连接的相关博文,那么就有了接下来的成功案例。
1. 因为kettle默认指定sybase驱动为jtds,但是我们要用它官方的驱动jconn ,那么就要使用 generic database连接。
具体连接url 和 驱动类名称
2.成功连接。可以尽情读表了。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删