如何为 sql 查询配置架构名称
How to configure schema name for sql queries
是否可以为 ActiveMQ 生成的 SQL 查询配置架构名称?
我希望有这样的查询:select * from myschema.ACTIVEMQ_MSGS...
而不是 select * from ACTIVEMQ_MSGS...
我可以为我的 PostgreSQL 用户设置默认模式,但这不是很专业....
使用 BasicDataSource
,您可以在连接打开时使用 connectionInitSqls
到 select 模式(适用于 Oracle):
<bean id="postgres-ds" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
...
<property name="connectionInitSqls">
<list>
<value>SET SCHEMA 'myschema'</value>
</list>
</property>
value=""/>
</bean>
或者您可以配置 ActiveMQ 生成的语句:
<persistenceAdapter>
<journaledJDBC ...>
<statements>
<statements tablePrefix="myschema."/>
</statements>
</journaledJDBC>
</persistenceAdapter>
我已经确定 SQL 服务器,我用下面的代码解决了它:
String connectionUrl = "jdbc:sqlserver://YYY.database.windows.net;databaseName=XXX;user=ZZZ@YYY;password=TTT;authenticationScheme=dbo";
BasicDataSource bds = new BasicDataSource();
bds.setDriverClassName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
bds.setUrl(connectionUrl);
bds.set...
是否可以为 ActiveMQ 生成的 SQL 查询配置架构名称?
我希望有这样的查询:select * from myschema.ACTIVEMQ_MSGS...
而不是 select * from ACTIVEMQ_MSGS...
我可以为我的 PostgreSQL 用户设置默认模式,但这不是很专业....
使用 BasicDataSource
,您可以在连接打开时使用 connectionInitSqls
到 select 模式(适用于 Oracle):
<bean id="postgres-ds" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
...
<property name="connectionInitSqls">
<list>
<value>SET SCHEMA 'myschema'</value>
</list>
</property>
value=""/>
</bean>
或者您可以配置 ActiveMQ 生成的语句:
<persistenceAdapter>
<journaledJDBC ...>
<statements>
<statements tablePrefix="myschema."/>
</statements>
</journaledJDBC>
</persistenceAdapter>
我已经确定 SQL 服务器,我用下面的代码解决了它:
String connectionUrl = "jdbc:sqlserver://YYY.database.windows.net;databaseName=XXX;user=ZZZ@YYY;password=TTT;authenticationScheme=dbo";
BasicDataSource bds = new BasicDataSource();
bds.setDriverClassName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
bds.setUrl(connectionUrl);
bds.set...