本文主要是介绍java 连接 firebird,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
java中使用fb(jaybird) |
到这里下载最新版的jaybird(fb的jdbc Driver) http://www.firebirdsql.org/index.php?op=files&id=jaybird 它是4类型jdbc驱动,根本不需要odbc中转,是效率最好的类型(具体见jdbc驱动类型说明)。而且它实现大部分jdbc2.0接口。 解压后看看docs/faq.html,里面有大多你想要的答案。 为扮装高手帮助“懒人”,我就继续罗嗦下去(多时候我讨厌重复和教条,那像上年纪的老太婆,不过这次我鼓起勇气和精神继续写吧)。。。 将jaybird-X.X.XJDK_X.X.zip(注意,它是zip非jar)解压到任意目录,将其中的jaybird-full-X.X.X.jar(对,它才是完整的驱动包!)拷贝到你的CLASS_PATH目录中,然后在你的java代码里连接你的数据库吧 URL格式如下: 标准格式 jdbc:firebirdsql:[//host[:port]/]<database> 旧格式 jdbc:firebirdsql:[host[/port]:]<database> jdbc例子: Class.forName("org.firebirdsql.jdbc.FBDriver"); Connection conn = DriverManager.getConnection("jdbc:firebirdsql:localhost/3050:/firebird/test.gdb", "sysdba", "masterkey"); tomcat发布方式: #1 单应用使用firebird,将驱动拷贝到应用的WEB-INF/lib/里; #2 多应用使用firebird(全局),将驱动拷贝到{$tomcat_install_dir}/common/lib/里; 至此你可以在程序里采用jdbc方式访问你的数据库了。但,多数时候,这样有点土,你当然可以用jndi方式,如何定义jndi和使用它,请g-tomcat吧。我这里给个结果: <Resource name="jdbc/mydb" auth="Container" type="javax.sql.DataSource" driverClassName="org.firebirdsql.jdbc.FBDriver" url="jdbc:firebirdsql:localhost/3050:mydb" username="sysdba" password="masterkey" maxActive="20" maxIdle="10" maxWait="10000" /> spring里 <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> <property name="jndiName" value="java:comp/env/jdbc/mydb" /> </bean> 如果你一时冲动想切换到嵌入方式(既然用了webServer,还用嵌入方式fb,我也只能说是一时冲动了~~),那也是简单的, #1 把URL换成这个格式: jdbc:firebirdsql:embedded:<database> #2 把jaybird21.dll拷贝到windows/system32或在jvm启动时加入-Djava.library.path=<jaybird21.dll所在目录>参数 #3 确保你的PATH环境变量里有你的fb嵌入式目录,因为jaybird21.dll其实是fbembed.dll的代理 最后说说字符编码: 假设你的数据库编码被定义成UTF-8,那么你在windows下要小心中文乱码问题,在linux下也可能会出现(多时候linux用utf-8编码),这里我就不罗嗦什么大道理了。 server在windows下,你假设你启动jvm按正常方式启动(没定义file.encoding参数),那么你的数据库URL应该是 jdbc:firebirdsql:[//host[:port]/]<database>?lc_ctype=gbk 但,由于fb目前对gbk支持不好,在你企图录入偏僻字时还是会出错,为了避免这个问题,我一般连jvm的编码也定义成utf-8(这样lc_ctype可以不加,也可以lc_ctype=utf-8。当然这样做你需要注意数 据录入时中文编码转换,因为windows用户的中文是gbk编码的,需要转到utf-8,这对java来说很容易,反之亦然,不清楚的g吧,这个问题超出本次讨论,当然这里也可能牵涉一个web常规中文乱码问题 ,请g),这就没这个问题了,不过来了一个不大的问题,这样的软件不符合国标~~。 |
这篇关于java 连接 firebird的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!