如何为 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...