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

ssh框架,如何访问或者操作同数据库实例下不同用户的表格。
如题:一个oracle的实例,有两个用户,我的连接池用的test1 用户,但是我想操作test2用户的表,应该如何配置?

  <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<property name="driverClass">
<value>oracle.jdbc.driver.OracleDriver</value>
</property>
<property name="jdbcUrl">
<value>jdbc:oracle:thin:@127.0.0.1:1521:orcl</value>
</property>
<property name="user">
<value>test1</value>
</property>
<property name="password">
<value>test1</value>
</property>
<property name="minPoolSize"><value>20</value></property>
<property name="maxPoolSize"><value>200</value></property>
<property name="maxIdleTime"><value>1800</value></property>
<property name="acquireIncrement"><value>5</value></property>
<property name="maxStatements"><value>0</value></property>
<property name="initialPoolSize"><value>50</value></property>
<property name="idleConnectionTestPeriod"><value>1800</value></property>
<!--  
<property name="acquireRetryAttempts"><value>30</value></property>
<property name="breakAfterAcquireFailure"><value>true</value></property>
<property name="testConnectionOnCheckout"><value>false</value></property>
-->
</bean>

用的c3p0 ..

如何操作test2的表格?

------解决方案--------------------
这个简单啊 。。
正好有个这样的例子,你可以用pl/sql配置一个DBLink,将test2用户的表映射到test1用户中



1.创建
create database link testlink1
connect to user1 identified by pwd1
using '(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.18.20.108)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=orclgbk)))';
 testlink1为dbLink数据库名字
 user1为用户名
 pwd1为密码
 
2.查看view中有多少表
select * from cat@testlink1或者select * from user_tables@testlink1

3.查看一张表 
select * from bs_sample@testlink1