저는 qt 라이브러리가있는 일부 rdbms에 액세스 할 수있는 소프트웨어를 C++로하고 있습니다. 소프트웨어는 pc 용입니다. 소프트웨어는 rdbms의 이름과 프로그램이 실행할 SQL 쿼리를 선택하는 데 필요한 버전을 알고 있어야합니다. 어떤 rdbms 에서이 데이터를 검색 할 수있는 방법이 있습니까?RDbms 이름 및 버전
0
A
답변
0
모든 rdbms에서이 데이터를 검색 할 수있는 방법이 있습니까?
이 각 RDBMS에 고유 한 - 예를 들어, 오라클, 당신은
select *
from v$version;
을 할 수 있지만, 다른 RDBMS에서이 뷰가 존재하지 않습니다.
몇 가지 가능한 방법은 :
당신은 어딘가 어쨌든 연결 매개 변수를 정의해야합니다. 심지어 그들은 종종 특정 RDBMS, 그래서 당신은 단순히
SQLFlavor=Oracle
또는SQLFlavor=MySQL
같은 다른 매개 변수를 추가 한 다음당신은을 찾기 위해 몇 가지 추론을 사용할 수 있습니다 사용할 SQL 문을 결정하는 코드에서
SQLFlavor
의 값을 사용할 수 있습니다 RDBMS. 예를 들어v$version
뷰를 쿼리하십시오. 존재하지 않는다면 오류가 발생하며 오라클이 아니며 다음 시도 (예 :SELECT VERSION()
)를 계속 진행하여 MySQL인지 확인하십시오. 그렇지 않으면 결과를 사용하여 구체적인 Oracle 버전을 찾을 수 있습니다.
그러나 모든 rdbms에는이 정보를 검색 할 수있는 방법이 있습니까? – lv92
나는 그렇게 기대할 것이다 - 물론 확신 할 수 없다. :) –