私は、PreparedStatementをORACLEとMYSQLの両方で実行することを想定しています。 しかし、私はOracleでJava PreparedStatementキャスト付きのDB間
(... NULL AS)CASTを処理する方法を見つけ出すことはできません(ただし、MySQLの上)以下の作品:MySQLのオン
SELECT TIMB_INS,
CAST(NULL AS TIMESTAMP) AS TIMB_CLO
FROM TOPS
次作品(ただし、上オラクル):
SELECT TIMB_INS,
CAST(NULL AS DATETIME) AS TIMB_CLO
FROM TOPS
(最初の列は、MySQLは、OracleとDATETIMEのために、すなわちTIMESTAMPを、 "TIMB_INS" を選択し、両方のケースではターゲット・データベース・タイプのための正しいデータ型を返すことに注意してください)
。両方に機能するように配置する方法はありますか? I.E。私はそれを何らかの方法でdb-indipendentにすることはできますか?私はあなたには、いくつかのJavaコードからこの文を呼んでいる見ることができますタグに基づいて
おかげ マルコ
はい、スタンドアロンJavaアプリケーションからの呼び出しです。 私はあなたの3番目の解決策は、トリックを行うかもしれないと思うが、私はそれを(華麗に?しかし、それは単に可能ではないかもしれません。 (お返事ありがとうございます!) –
多分SQLソリューションもあります。私はちょうどあなたのためにそれらを試すためのツールがありません。 –
もう1つ - それほど賢くない解決策は、両方のDBで、そのテーブルに希望のタイプのNOT USED(NULL)列を追加して選択することです。 しかし、わかりやすくするために、私たちはあなたの3番目の解決策に行きました。 db.nameを "connection.getMetaData()。getDatabaseProductName()"から調べました。 ありがとう! ;-)さようなら。 –