ユーザー名「sa」を使用して Weblogic で作成された SQLServer のデータ ソースがあります。
コードでは、次を使用してユーザー名を取得しています。
Context ctx = new InitialContext(prop);
Object obj = ctx.lookup("sqlserver1");
System.out.println("Data Source Found….");
DataSource ds = (DataSource) obj;
Connection conn = ds.getConnection();
DatabaseMetaData mtdt = conn.getMetaData();
// Get UserName
System.out.println("User name: " + mtdt.getUserName());
ただし、上記のコードは常にユーザー名として「dbo」を返します。ユーザー名は「sa」だと思っていました。DB が Oracle の場合、正常に動作します。すべての異なる種類のデータベースのユーザー名を取得する一般的な方法はありますか?