2013-07-02 1 views
1

ms SQL Server에서 pyodbc를 사용하여 데이터를 가져 오려고합니다. 나는 오류가 아래에 무엇입니까 :SQL 문 중 일부가 너무 깊게 중첩되어 있습니다. pyodbc

ProgrammingError: ('42000', '[42000] [Microsoft][ODBC SQL Server Driver][SQL Server]Some part of your SQL statement is nested too deeply. Rewrite the query or break it up into smaller queries. (191) (SQLExecDirectW)')

코드는 다음과 같습니다 :

 conn = pyodbc.connect('DRIVER={SQL Server};SERVER=127.0.0.1;DATABASE=Morphemes;') 
     cursor = conn.cursor() 
     Func = list() 
     sql_VerbDecl = "SELECT (stem_.kök + conj_.suffix) as tokenn FROM TBL_Stem as stem_ INNER JOIN TBL_VerbDecl as conj_ on conj_.node = stem_.node;" 
     cursor.execute(sql_VerbDecl) 
     rows = cursor.fetchall() 

문제는 유니 코드 문제였다. stem_.kök를 stem_.kok으로 변경하면 문제가 해결됩니다.

답변

0

'일사연비'가 필요하지 않습니다. sql_VerbDecl = "SELECT 1;"을 제외하고는 똑같은 코드를 사용해보십시오. 동일한 오류가 발생하는지 확인하십시오. 이것을 시도해보십시오. 정확한 구문은 아니지만 아이디어를 얻으실 수 있습니다. SELECT "TBL_Stem.kök", "TBL_VerbDecl.suffix" FROM "TBL_Stem" INNER JOIN "TBL_VerbDecl" ON "TBL_Stem".node = "TBL_VerbDecl".node; 다음을 참조하십시오 : http://www.w3schools.com/sql/sql_join_inner.asp INNER JOIN. 또한 테이블 이름이나 테이블 열에 대문자가 포함될 때마다 ""로 둘러 쌀 필요가 있거나 SQL은 대문자임을 알 수 없습니다.