我们有一个java gui处理postgresql数据库的演示文稿。
在演示服务器上,我们有一些模式,其中一个是为我们的组保留的。
我现在的问题是将Schema绑定到连接,以便在整个过程中绑定模式。这是我到目前为止,但c.setSchema()似乎没有实现,也许还有其他方法。
Class.forName("org.postgresql.Driver");
c = DriverManager.getConnection("jdbc:postgresql://" + host + ":"
+ port + "/" + databaseName, username, password);
c.setAutoCommit(false);
c.setSchema("b7");
感谢Stefan Sprenger
编辑(第一次尝试):
c = DriverManager.getConnection("jdbc:postgresql://" + host + ":"
+ port + "/" + databaseName+"?searchpath=b7", username, password);
没有错误但没有工作
答案 0 :(得分:1)
此网址格式jdbc:postgresql://localhost:5432/mydatabase?searchpath=myschema
似乎从未进入官方驱动程序,相反,您必须在建立连接后执行此语句set search_path to 'schema'
。
答案 1 :(得分:1)
我通过简单地添加一个schema.table来解决这个问题。
作为示例,我将模式作为输入参数并将其存储到String模式。
如果我调用类似的查询:
Select * from TABLE;
现在看起来像
Select * from schema.TABLE;
它有效;)