[Seasar-user:13958] Re: [S2JDBC] 動的にスキーマを切替えてテーブルアクセスするには

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2008年 4月 25日 (金) 21:00:12 JST


小林 (koichik) です.

Date:    Fri, 25 Apr 2008 20:39:10 +0900
From:    "Nobutaka Yamada" <[E-MAIL ADDRESS DELETED]>
To:      [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:13957] [S2JDBC] 動的にスキーマを切替えてテーブルアクセスするには

> SQLServerで、データベース内のテーブルをスキーマ別に作成し、
> S2JDBCを利用して動的にスキーマを切替えて
> アクセスできないかと考えています。
(略)
> 条件によってある時はschema1.Table1をアクセス、
> またある時はschema2.Table1をアクセスするという様に
> スキーマを動的に切替えてテーブルをアクセスするには
> どのようにすればよいでしょうか?

直接的にスキーマを動的に切り替える方法は
提供していませんが,それぞれのスキーマを
デフォルトとするユーザを個別に用意して,
それらのユーザで接続する DataSource を
動的に切り替えるようにすることで対応可能だと
思います.

DataSource を動的に切り替えるには,
SelectableDataSourceProxy を使用します.
使い方は以下を参照してください.

http://ml.seasar.org/archives/seasar-user/2006-May/003682.html

上記の datasource1.dicon では schema1 を
デフォルトスキーマとするユーザで接続する
DataSource,datasource2.dicon では schema2 を
デフォルトスキーマとするユーザで接続する
DataSource,というように設定してください.

なお,エンティティにはスキーマを指定せず,
デフォルトスキーマが使われるようにしてください
(@Entity の schema 要素を指定しない).


-- 
<component name="koichik">
    <property name="fullName">"Koichi Kobayashi"</property>
    <property name="email">"[E-MAIL ADDRESS DELETED]"</property>
    <property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>



Seasar-user メーリングリストの案内