日期:2014-05-17  浏览次数:20597 次

s2sh框架同时访问2个数据库。
s2sh框架能不能同时访问2个数据库。 随便什么数据库都行(但也要楼主会的哈,MySql、SQL Server、Oracle)。

不要发表说把2个数据库合并成一个数据库之类的,楼主就是要同时连2个数据库的方法!


有什么好的思路也可以说说。
同时访问2个数据库

------解决方案--------------------

------解决方案--------------------
	<bean id="ds1" parent="origDS">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"></property>
<property name="url"
value="jdbc:oracle:thin:@192.168.0.202:1521:aaaa"></property>
<property name="username" value="aaaa"></property>
<property name="password" value="aaaa"></property>
</bean>

<bean id="ds2" parent="origDS">
<property name="url"
value="jdbc:sqlserver://127.0.0.1:1433;DataBaseName=aaaa"></property>
<property name="username" value="aaaa"></property>
<property name="password" value="aaaa"></property>
</bean>

<bean id="dataSource" class="com.agelon.framework.datasource.DynamicDataSource">
<property name="targetDataSources">    
      <map key-type="java.lang.String">    
         <entry key="ds1" value-ref="ds1"/>    
         <entry key="ds2" value-ref="ds2"/> 
      </map>    
   </property>    
   <property name="defaultTargetDataSource" ref="ds1"/>
</bean>

------解决方案--------------------
配置两个连接池即可!
------解决方案--------------------
你可以同时配置2个或多个dataSource,然后根据业务需要分配给具体的bean。
------解决方案--------------------
这个需要jta事务管理机制来管理事务,配置两个以上数据源
------解决方案--------------------
引用:
	<bean id="ds1" parent="origDS">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"></property>
<property name="url"
value="jdbc:oracle:thin:@192.168.0.202:1521:aaaa"></property>
<property name="username" value="aaaa"></property>
<property name="password" value="aaaa"></property>
</bean>

<bean id="ds2" parent="origDS">
<property name="url"
value="jdbc:sqlserver://127.0.0.1:1433;DataBaseName=aaaa"></property>
<property name="username" value="aaaa"></property>
<property name="password" value="aaaa"></property>
</bean>