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
热度:96 发布时间:2023-12-21 10:52:38.0
相关解决方案
- java 乱码 汉字是 ? 如何转换成汉字
- java web 登录次数限制,该如何解决
- java 工商银行网银支付 B2B的 都亟需什么,需要注意什么
- Java Applet程序从JDK6升级到7时遇到的有关问题
- java web 视频相干
- 请教一个关于链接后缀的有关问题(java web 应用)
- java 系统单点登录解决方案
- java.lang.NumberFormatException: For input string: "id"该如何处理
- java.lang.NoSuchMethodException: setId([Ljava.lang.String;)解决方法
- java 获取客户端IP解决办法
- JAVA 后台怎么获得前台页面FCKedit编辑器中的内容以及内容的样式
- java 正则化匹配有关问题
- java web 受阻
- java.lang.IllegalStateException: No output folder,该怎么解决
- java.lang.NoSuchMethodError: org.springframework.util.ReflectionUtils.makeAccess,该如何解决
- java 乱码有关问题 急求大神
- java EE错误如何解决阿,都是过了,没有能解决的!
- java 工程打包有关问题 多谢各位大神!多谢
- JAVA WEB导航条,该怎么处理
- java.sql.SQLException: Access denied for user 'root'@'localhost' (using password,该如何处理
- java 中Node 有关问题
- 关于 java 引述传递和值传递,你的知否
- 吐了,java Timer 终止不了。
- Java Web 学习中有关问题,请高手指教
- java web中的url地址小疑点。
- java web开发解决办法
- java.lang.NullPointerException解决方法
- 关于 java cast 有关问题,你明白不
- java ftp 下传和上载乱码有关问题
- java web项目上的一些文件