MySQLで説明されているようにドキュメント
Connection.setCatalog()
を使用する必要があります 別のデータベースに切り替えます。また、すべきではないと明示的に述べています USE <databasename>
を実行します 切り替える。
この警告の理由は、JDBCがデータベースへの汎用インターフェースであり、そのため、catalogs
の切り替えを含む最も一般的なタスクのメソッドを提供するためです。 (またはdatabases
MySQLの場合と同じように)。 JDBC仕様/javadocは、データベース固有のコマンド(両方が使用可能な場合)よりもAPIを使用する必要があることも明示的に示しています。これにはいくつかの理由があります:1)データベースに依存しないコードを促進し、2)ドライバーがAPIメソッドの1つに応答して内部で追加のことを行う可能性があります。データベース固有のコマンドを使用すると、内部状態がデータベースの状態と一致しないため、ドライバーが誤動作する可能性があります。
setCatalog(String)
JDBC APIドキュメントで指定されているように、既存のステートメントには影響しません: