2012-05-02 5 views
2

Sybase 데이터베이스에서 sqlalchemy ORM 매핑이 있습니다. 나도 할 수있는 방법이 있나요sqlalchemy/Sybase ASE에서 너무 긴 열 별칭

DBAPIError: (Error) ('HY000', "[HY000] [DataDirect][ODBC Sybase Wire Protocol driver] 
[SQL Server]The column heading that starts with 'RISK_AGGREGATION_GROUP_id_risk_agg' is 
too long. Maximum length is 30. 

:

가) '별칭'SQLAlchemy의 내부 테이블이 짧게 사용하도록 내 테이블 이름 중 일부는 상당히 긴, 나는 다음과 같은 오류를 얻고있다 열 별칭

B

는) 내가 데이터베이스 내부의보기를 만들 수 있지만 오히려 그것을 만지지 것 실현 30 자 제한

을 높일 수 있습니다.

감사합니다.

+0

어떤 sybase 버전입니까? docs는 255가 열, 테이블, 사용자 정의 식별자의 최대 길이라고 말합니다. http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.help.ase_15.0.sqlug/html/sqlug /sqlug12.htm – zzzeek

답변

0

나는 b 섹션에 대해서 대답 할 수 있습니다. sybase에서 문자 제한을 늘릴 수 없습니다!

a) 가능한지는 모르겠지만 표의 이름을 변경하는 것이 좋습니다.

+0

그럼 Sybase에서 뷰를 생성해야하는 것 같습니다 ... – nickos556

+0

넵, 테이블을 변경하면 (열 추가/제거) 해당 뷰를 새로 고쳐야 할 수도 있습니다 – van

1

SQLAlchemy의 보통 우리가 우리가 당 사이베이스의 기본이 연결이없는이 방언에 대한 의견을 결코베이스의 경우, 자동으로 적절한 라벨 길이를 설정하지만, label_length를 통해 구성 할 수 있습니다 :

engine = create_engine("sybase+pyodbc://...", label_length=30) 
+0

고맙습니다 @zzzeek thankyou. 보기를 추가하는 것보다 훨씬 낫다 :) – nickos556