2010-04-20 1 views
4

ODBC를 사용하여 데이터베이스에 연결하고 데이터베이스를 변경하는 타사 응용 프로그램과 함께 작업하고 있습니다. 특정 실패 모드에서는 최종 결과가 예상 한 결과와 다릅니다. 그것을 더 잘 이해하기 위해 데이터베이스에 전송 된 모든 명령문을 검사하는 방법을 원합니다. ODBC를 사용하여이 작업을 수행 할 수 있습니까?ODBC 연결을 통해 전송 된 모든 SQL 문을 볼 수 있습니까?

JDBC를 사용하면 최대 절전 모드 디버깅과 같이 전송 된 모든 명령문을 보려면 http://www.p6spy.com/을 사용할 수 있습니다. p6spy는 보내진 명령을 기록하고 실제 JDBC 드라이버로 전달하는 "프록시"드라이버입니다.

또 다른 가능성은 전선을 통해 명령문을 캡처하는 프로토콜 스니퍼 일 수 있습니다. ODBC가 표준 와이어 프로토콜을 포함하거나 API 만 지정했는지 여부는 확실하지 않습니다.

누구든지 이러한 작업을 수행 할 수있는 기존 도구를 알고 있습니까? 또는, 제가 취할 수있는 또 다른 접근법이 있습니까?

답변

0

데이터베이스가 무엇이든 관계없이 SQL 측에서 로그를 읽는 것이 더 쉽다고 생각합니다. 예를 들어, SQL Server에서 모니터를 켜거나 MySQL에서 로그를 봅니다. 그것은 스니퍼를 사용하는 것이 가치가있는 것보다 더 많은 문제가 될 것 같지만 사용 가능한 도구에 달려 있다고 생각합니다. 어떤 RDBMS를 사용하고 있습니까?

+0

우리는 DB2를 사용하고 있습니다. 나는 한 번에 한 기계에서 발생하는 트래픽에만 관심이 있습니다. 또한 일반적으로 편집하는 스키마에 따라 분리되므로 단일 스키마에서 로그를 사용할 수도 있습니다. –

+0

글쎄, 필자는 DB2를 프로그래머로 사용했지만 결코 DBA는 사용하지 않았기 때문에 로그에 대한 구체적인 내용은 말할 수 없다. 그러나 그것은보기에보기 흉하지 않은 장소와 같게 들린다. – MJB

1

ODBC는 로컬 드라이버가 원격 데이터베이스와 통신하는 방식이 아닌 프로그램이 로컬 드라이버와 통신하는 방법을 지정합니다. 귀하의 프록시 드라이버 아이디어는 건전한 것입니다, 당신은 단지 하나를 찾아야합니다.

1

ODBC에 내장 된 추적을 시도 했습니까? ODBC 데이터 원본 관리자에는 추적 탭이 있습니다. 기억하기 때문에 캡처 된 정보는 매우 장황합니다.

관련 문제