최근에 Windows 7 상자를 사용하기 시작했습니다. 32 비트 ASE 드라이버 (Adaptive Server Enterprise)를 사용하여 Sybase 데이터베이스를 쿼리하려고합니다. 시스템에 설치된 Sybase 클라이언트는 v15.5입니다.pyodbc가 Sybase 데이터베이스에 쿼리하여 부분 데이터를 일부 가비지로 반환하는 이유는 무엇입니까?
문제는 작은 데이터를 쿼리 할 때 올바른 결과를 얻을 수 있지만 예상되는 결과가 40 개가 넘는 경우 오류가 발생한다는 것입니다.
>>> x = smd.Query("select ric_code as ric, weight, adjusted_weight as adjweight,
currency as currency, close_price as last from v_temp_idx_comp where index_ric_
code='.HSI'")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "s:\quant\python\v1.0\smd.py", line 15, in Query
result = x.fetchall()
pyodbc.Error: ('HY000', 'The driver did not supply an error!')
이 오류를 해결하는 방법을 모르겠습니다. 이 단계를 더 디버깅하려면 어떤 단계를 밟아야합니까? 더 많은 조사를 위해 몇 가지 명령 행 도구를 사용할 수 있습니까? 어때요? 그들은 동일한 기본 운전자를 사용합니까?
참고로 쿼리에는 문제가 없습니다. Merant 드라이버를 사용했던 이전 머신에서 쿼리가 잘 작동합니다.
모든 의견을 환영합니다.
커서의'fetchall()'함수 호출에 오류가 발생했습니다. – Alok
나는 출력 결과를 손상시키는 결과 집합의 열 중 하나에 문제가 있음을 알게되었습니다. 나는 이것을 피하는 방법을 더 조사해야한다. 그 칼럼을 떨어 뜨리면 데이터가 제대로 나옵니다. – Alok