세 데이터베이스 (Oracle, sybase, MS-Server)에 대한 저장 프로 시저/함수를 반환하는 결과 집합을 처리해야합니다. 프로 시저/함수는 일반적으로 동일하지만 호출은 Oracle에서 약간 다릅니다.주어진 JDBC 연결에 대한 데이터베이스 유형을 결정하는 방법은 무엇입니까?
statement.registerOutParameter(1, oracle.jdbc.OracleTypes.CURSOR);
...
statement.execute();
ResultSet rs = (ResultSet)statement.getObject(1);
JDBC는이를 처리하는 일반적인 방법을 제공하지 않으므로 코드에서 다른 유형의 DB를 구별해야합니다. 연결은 제공되지만 DB가 오라클인지 확인하는 가장 좋은 방법을 모릅니다. 드라이버 이름을 사용할 수는 있지만 더 깔끔한 방법을 찾고 싶습니다.
마이크로 소프트 SQL 서버는 제품 이름을 "Microsoft SQL Server를"제공합니다. – OldCurmudgeon
오라클은 "Oracle"을 제공합니다 – OldCurmudgeon
PostgreSQL은 "PostgreSQL"을 제공합니다 –