Sybase数据库的连接,JNDI,Hibernate配置
最近的一个项目就是移植老项目的代码,有一个模块用的是Sybase数据库,我表示从来没接触过,更不用说怎么用了。再者这东西都是几乎被淘汰的东西了,而且网上搜到的东西简直了,全是复制粘贴的。
一、使用工具连接Sybase数据库
我用的是SQL Advantage,下载地址点我,使用方法:
1.解压下载的sqladv-12_5.zip至任意目录下
2.编辑sqladv-12_5\ini目录下的sql.ini文件,添加想要连接的Sybase服务器信息。文件sqladv-12_5\ini\sql.ini中有个示例:
[syb1254]
master=NLWNSCK,192.168.1.5,5000
query=NLWNSCK,192.168.1.5,5000
你新添加Sybase服务器的时候,仅需要sql.ini文件的尾部添加类似上面的信息。中括号中表示服务器名称,你可以自己起一个标记性的名字。将192.168.1.5替换成你将要连接的Sybase服务器的IP地址,将5000替换成Sybase服务器的监听端口。
注意:中间使用英文逗号分割。
3.双击目录sqladv-12_5下的“启动sqladv.bat”文件,即可运行SQL Advantage工具了。不要执行“sqladv.exe”这个文件,因为没有配置环境变量SYBASE。直接执行”start_sqladv.bat”即可。
4.打开SQL Advantage工具后,点菜单Server>Connect,在连接信息配置窗口中,其中Server列表中的Sybase服务名就是在第二步中配置的。Client host表示连接到Sybase
服务器中的客户端标志。
如果想配置网络包大小、大文本字段的长度、客户端字符集等属性,可以点Options…按钮
成功连接到Sybase服务器后,查看数据库内的表,点菜单View>Pick Lists>Tables & Columns
二、JDNI和Hibernate的配置
首先导入两个jar包,下载地址点我,
JNDI配置:
<Resource auth="Container" driverClassName="com.sybase.jdbc3.jdbc.SybDataSource" maxActive="50" maxIdle="25" name="根据自己的需要" username="自己的" password=自己的" type="javax.sql.DataSource" url="jdbc:sybase:Tds:服务器地址:端口/query" />
Hibernate配置:
<bean id="Factory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource"> <ref bean="DataSource" /> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">org.hibernate.dialect.Sybase11Dialect</prop> <prop key="hibernate.show_sql">true</prop> <prop key="hibernate.jdbc.batch_size">80</prop> <prop key="hibernate.connection.autocommit">true</prop> <prop key="hibernate.connection.release_mode">after_transaction</prop> <prop key="hibernate.query.factory_class">org.hibernate.hql.classic.ClassicQueryTranslatorFactory</prop> </props> </property> </bean>
三、使用JDBC方式连接:
SybDataSource od = new SybDataSource(); od.acceptsURL("jdbc:sybase:Tds:"); od.setServerName("数据库url"); od.setDatabaseName("query"); od.setPortNumber(端口号); od.setUser(" "); od.setPassword(" "); //省略