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

IBMWSJdbc41ConnectionからPostgreSQL接続をアンラップする方法

    JDBCオブジェクト(DataSource、Connectionなど)をベンダー固有のインターフェースにアンラップする場合は、構成済みの<datSource>内のJDBCドライバー アプリケーションクラスローダーで使用可能である必要があります。構成は次のようになります。

    <application location="oraclejdbcfat.war" >
        <!-- expose the 'DBLib' containing the JDBC driver jar to the app classloader -->
        <classloader commonLibraryRef="DBLib"/>
    </application>
    
    <library id="DBLib">
        <fileset dir="${server.config.dir}/postgresql/" includes="*.jar"/>
    </library>
    
    <dataSource jndiName="jdbc/myDS">
        <jdbcDriver libraryRef="DBLib"/>
        <properties .../>
    </dataSource>
    

    そこから、以前と同じ方法でオブジェクトをアンラップできます。つまり、次のようになります。

    DataSource ds = InitialContext.doLookup("jdbc/myDS");
    Connection conn = ds.getConnection();
    PGConnection pgConn = conn.unwrap(org.postgresql.PGConnection.class);
    

    また、enableConnectionCastingがあります <dataSource>のブール属性 getConnection()時に自動的にunwrapを呼び出す構成 。

    <dataSource jndiName="jdbc/myDS" enableConnectionCasting="true">
    

    次に、Javaコードは少し単純です:

    DataSource ds = InitialContext.lookup("jdbc/indi");
    PGConnection pgConn = (PGConnection) ds.getConnection();
    



    1. PHP sqlsrv_connect to SQL Server:SQLServerへの接続の確立中にネットワーク関連またはインスタンス固有のエラーが発生しました

    2. カンマ区切りの文字列を分割->FUNCTIONdb.CHARINDEXが存在しません

    3. ひねりを加えたHekaton:インメモリTVP –パート3

    4. MySQL Workbenchを使用してMySQLデータベースのバックアップを取る方法は?