내 고객은 실습 관리 소프트웨어를 구입 한 치과 의사입니다. 이 소프트웨어는 환자 데이터베이스, 일정 및 모든 의료 기록을 포함하여 로컬 서버에 설치되었습니다. 이제 그들은 패키지와 함께 제공되지 않는 유틸리티를 작성하고이 데이터베이스에 쿼리 할 수있는 기능이 필요합니다.숨겨진 DB의 데이터베이스 스키마를 얻는 방법은 무엇입니까?
소프트웨어 제조업체 (Patterson/EagleSoft)의 기술 지원부에 전화를 걸어 보았습니다. 제 질문에 대한 답변을 충분히 이해할 수있는 사람을 찾기가 어렵습니다. 내가 말할 수있는 한, 소프트웨어에 대한 API는 없으며, 프로그래밍 방식으로 직접 DB에 쿼리하는 방법을 알려주지 않는다. 대화식 쿼리 창이 있지만 자동 쿼리 작성에는 적합하지 않습니다. 그들은 어딘가에 SQL Server DB가 있지만 SQL Server에 연결하는 ODBC 드라이버는 SQL Anywhere 드라이버입니다 (허허?).
그래서 서버를 검색하여 데이터베이스 파일을 찾을 수 없습니다. 그런 다음 설치 과정에서 EagleSoft 소프트웨어에서만 볼 수있는 독점적 인 가상 머신을 생성한다는 사실을 발견했습니다. 그러나 난독 화 레이어로 DB를 격리하는 데는 매우 뛰어 났지만 실제로 SQL Anywhere 연결 인 ODBC 드라이버는 그대로 두었습니다.
그 매혹적인 긴 전공 후, 여기 내 질문 :이 쿼리를 통해이 ODBC 연결을 통해 어떤 구조로 쿼리 할 수 있습니까? SQL Server DB 아래에 sysobjects 테이블을 사용할 수는 있지만 SQL Anywhere ODBC 연결을 사용하여 MSSQL DB에 연결하는 방법을 완전히 이해하지 못했습니다. 그리고 그들이 저를 잘못 알고 있고 정말로 SQL Anywhere DB 아래에 있다면 DB 구조에 도달하기 위해 실행할 쿼리는 무엇입니까?
만약 누군가 EagleSoft (또는 비슷한 독점적 인 패키지)를 실제로 쿼리하는 데 성공한 사람이 있다면 - 어떻게했는지 말해주십시오!
@Marc Gravell : ODBC API는 스키마를 내포하는 일반적인 기능을 가지고 있으며이 질문에 대해서는 매우 지역화되지 않은 대답이 될 것입니다. – bmargulies