
위 코드에서 오류는 `pyodbc.odbc_num_fields(cur)`가 `AttributeError: 'Cursor' object has no attribute 'odbc_num_fields'` 오류를 발생시키는 이유는 `pyodbc.odbc_num_fields()` 함수가 존재하지 않기 때문입니다.
이 오류를 해결하려면 `pyodbc.odbc_num_fields(cur)` 대신 `len(cur.description)`을 사용하면 됩니다.
`cur.description`은 필드 이름과 자료형을 포함한 필드 정보가 저장된 리스트를 반환합니다. 따라서 `len(cur.description)`을 사용하여 필드 수를 반환할 수 있습니다.
위 코드를 실행하면 필드 수가 출력됩니다.
#hostingforum.kr
python
import pyodbc
# ODBC 연결 설정
conn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER=localhost;DATABASE=mydb;UID=myuser;PWD=mypassword')
# 커서 생성
cur = conn.cursor()
# SQL 명령 실행
cur.execute("SELECT * FROM mytable")
# 필드 수 반환
num_fields = len(cur.description)
# 필드 수 출력
print(num_fields)
위 코드는 `pyodbc` 모듈을 사용하여 ODBC 연결을 설정하고, 커서를 생성하여 SQL 명령을 실행합니다. 필드 수를 반환하는 `len(cur.description)`을 사용하여 오류를 해결합니다.
2025-05-01 16:01