jdbc - 如何从 DataSource 或 Connection 对象中获取模式名称
问题描述
我想从我的 DataSource 或 Connection 对象中获取模式名称,以便可以在我的 SQL 查询中动态使用它。我正在使用 DB2,并且在 DB2 驱动程序中没有实现 connection.getSchema()。
我正在使用 DataSource 来获取连接。由于 connection.getSchema() 不起作用,我尝试了另一种方法,如下所示
connection.getMetaData().getURL()
但这是返回没有架构信息的连接 URL,如下所示:
jdbc:db2://servername:1446/DBName
但是我在可嵌入容器中创建数据源时在 URL 中提供了模式信息。
jdbc:db2://servername:1446/DBName:currentSchema=mySchema
我需要获取架构名称才能在查询中使用它。有人知道如何获取模式名称。
解决方案
试试 SQL 语句
values current schema
推荐阅读
- ruby - 如何使用 Chef 在 EC2 实例上远程设置 apache 服务器
- jdbc - 带有自定义模式的 jdbc redshift 连接字符串
- javascript - CAS + service worker 无限重定向循环
- docker - docker swarm 网络中带有“lb-”前缀的额外容器是什么?如何设置 docker network 没有那个?
- sql - 物化视图不更新
- java - 如何使用JSoup从html网页的表中提取特定的行数据
- r - dplyr:基于拆分因子重复行
- docker - 如何在多个 docker 容器上运行的单端口 (8888) 上访问 Jupyter Notebook?
- excel - Microsoft Excel:如何根据不同的列选择正确的单元格?
- fabricjs - 为什么 Fabricjs 中的线条和矩形不匹配