2012-03-06 1 views
4

일부 유용한 stackoverflow 사용자 pointed outneither the pyodbc nor python-sybase plugins support Sybase table reflection within SQLAlchemy.Python을 사용하는 Sybase db에서 SQLAlchemy의 테이블 반영/내부 검사를 수행하는 방법은 무엇입니까?

내 질문은 : 거기에 Sybase 배포 테이블의 데이터베이스 메타 데이터를 반영하기 위해 존재하는 대안이 있습니까? 아니면 가능하지 않다면 구문 분석 및 쿼리 작성을 위해 테이블 ​​메타 데이터를 푸시 다운하는 솔루션을 함께 제공하거나 해킹하는 영리한 방법이 있습니까?

답변

5

데이터베이스에서 제공하는 정보 스키마 (테이블, 열 및 기타 모든 것에 대한 데이터를 반환 할 수있는 테이블 및 뷰 집합)를 호출하면됩니다.

Sybase의 경우 정보 스키마 (대부분 16 + 16 column format of representing foreign key constraints) 때문에 실제로는 매우 어려운 형식이므로 Sybase 방언을 만들 때 작업의 반영 부분을 "할 일"으로 남겨 둡니다 ". 기술적 인 이유는 없습니다. 길고 지루한 작업 일 뿐이며 Sybase dialect를 사용하는 사람은 거의 없습니다.

기본 쿼리 중 일부를 테이블 및 열 이름으로 가져 오려면 SQLAlchemy로 바로 가져올 수 있습니다. 작업 할 스키마는 http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.help.ase_15.0.tables/html/tables/tables2.htm이고 여기에는 sysobjects, syscolumnsysreferences이 표시됩니다.

+3

와우, 말의 입에서 곧바로 답을 얻는 것보다 낫지 않습니다. 제쳐두고, SQLAlchemy로 해준 작업에 감사드립니다. 데이터베이스를 처음 사용하면서 DB에 약간의 고통을 덜어주었습니다. 프로젝트에 기여할 때, 저는 항상 커뮤니티에 너무 많은 것을 돌려주고 싶었습니다. 나를 위해, 나는 기회에 흥미가있다. 현재이 프로젝트를 최대한 빨리 마칠 수있는 기한이 있기 때문에 커서/engine.execute()를 사용하여 솔루션을 손에 쥐고 있지만 시간이 지나면이 문제로 돌아올 것입니다. – ignorantslut