Сер*_*тин 5 java firebird jaybird
我使用java和jaybird驱动程序.在我之前使用jaybird 2.x的版本中,我使用GDS低级访问(服务API)连接服务器(没有连接db-part),以获取服务器版本字符串.
现在我尝试使用FB3 + jaybird3beta.JB3中没有GDS API.正如我从文档中看到的那样 - 有org.firebirdsql.util.FirebirdSupportInfo对象有3个实现
static FirebirdSupportInfo supportInfoFor(Connection connection)
static FirebirdSupportInfo supportInfoFor(FbDatabase database)
static FirebirdSupportInfo supportInfoFor(GDSServerVersion serverVersion)
Run Code Online (Sandbox Code Playgroud)
我看到了:
还有带有getConnection()函数的java.sql.DriverManager"尝试建立与给定数据库URL的连接"
所以,据我所知,如果没有连接到任何数据库,它无法获得服务器版本?或者我想念什么?
或者我如何才能使用server:port和给定的用户名/密码来获取服务器的版本?
与这个答案的早期版本相反,它已经是可能的(我已经忘记了)。要获取服务器版本,您可以使用该类org.firebirdsql.management.FBServiceManager:
FBServiceManager manager = new FBServiceManager();
manager.setHost("localhost");
manager.setUser("sysdba");
manager.setPassword("your password");
System.out.println(manager.getServerVersion());
Run Code Online (Sandbox Code Playgroud)
此方法当前未在接口定义中公开ServiceManager,我已创建票证JDBC-484来解决 Jaybird 3.0.0 Final 的此问题。
顺便说一句:该类org.firebirdsql.util.FirebirdSupportInfo主要是为了简化 Jaybird 本身的测试而编写的,这些测试依赖于不同 Firebird 版本中引入的功能。我们将其包含在分发包中,因为它可能对其他人有用。请记住,功能检查方法的结果并不一定意味着此类功能可用于特定数据库,因为有时功能还需要数据库文件的特定 ODS(磁盘结构)版本。
披露:我是 Jaybird 的开发人员。
| 归档时间: |
|
| 查看次数: |
965 次 |
| 最近记录: |