sql >> データベース >  >> RDS >> Oracle

複数のデータベースに接続するJava

    一意のデータソース(および接続とdbMainConnection)を静的に保存しています クラスの変数。誰かがデータソースを要求するたびに、前のデータソースを新しいデータソースに置き換えます。 JNDIからデータソースを取得しているときに例外が発生した場合、静的データソースはそのまま残ります。静的変数には何も格納しないでください。 dbMainConnectionクラスはデータベースの名前で構築されており、データベース名がいくつかあるため、シングルトンにするのは意味がありません。

    次のコードを使用してデータソースにアクセスするだけです。

    public final class DataSourceUtil {
        /**
         * Private constructor to prevent unnecessary instantiations
         */
        private DataSourceUtil() {
        }
    
        public static DataSource getDataSource(String name) {
            try {
                Context ctx = new InitialContext();
                String database = "jdbc/" + name;
                return (javax.sql.DataSource) ctx.lookup (database);
            }
            catch (NamingException e) {
                throw new IllegalStateException("Error accessing JNDI and getting the database named " + name);
            }
        }
    }
    

    そして、発信者がデータソースから接続を取得し、使用が終了したらそれを閉じるようにします。



    1. 数式に従って列の値を再割り当てするUPDATEステートメント

    2. max_connectionsは実際にはどういう意味ですか?

    3. PHP/MySQLクエリでの日付のフォーマット

    4. SQL Server Profiler-1つのデータベースからのイベントのみを表示するようにトレースをフィルタリングするにはどうすればよいですか?