<질문>
많은 연구와 조사 끝에 Eric5를 편집기로 사용하여 pyQT4로 Python 개발을 수행하기로 결정했습니다. 그러나 MySQL이 작동하도록 시도하면서 벽돌 벽에 부딪 혔습니다. QMySQL 드라이버에 문제가있는 것 같습니다. 지금까지 본 토론에서 유일한 수정 사항은 pyQT SDK를 설치 한 다음 MySQL 드라이버를 다시 컴파일하는 것입니다. 내가 정말로 겪고 싶지 않은 고통스러운 과정. 실제로 MS SQL을 사용하고 싶지만 MSSQL을 지원하는 pyQT 용 드라이버를 찾지 못했습니다.
그래서 내 질문은 : 실제로 작동하는 mySQL 또는 MSSQL에서 pyQT를 사용하는 가장 좋은 방법은 무엇입니까?
답변을 기다리는 동안 SQLAlchemy 및 mySQL.Connector를 사용하여 pyQT와 공존하는지 확인할 수 있습니다.
<답변1>
MS SQL을 사용하고 싶다면 QSqlDatabase 및 ODBC 드라이버를 사용하는 PyQt에서 매우 쉽습니다.
다음은 MS SQL을 사용하는 프로젝트에서 발췌 한 것입니다.
db = QSqlDatabase.addDatabase('QODBC')
#TODO: Add support for trusted connections.
#("Driver={SQLServer};Server=Your_Server_Name;Database=Your_Database_Name;Trusted_Connection=yes;")
db.setDatabaseName('DRIVER={SQL Server};SERVER=%s;DATABASE=%s;UID=%s;PWD=%s;'
% (hostname,
databasename,
username,
password))
db.open()
분명히 이미 호스트 이름, 데이터베이스 이름, 사용자 이름 및 암호 변수를 설정해야합니다. 주석 처리 된 줄에는 신뢰할 수있는 연결에 대한 연결 문자열이 표시됩니다. 아직 시도해 볼 필요는 없지만 필요한 경우 작동합니다.
데이터베이스가 열리면 PyQt 드라이버와 함께 MySql을 사용하는 것처럼 QSqlQuery를 사용할 수 있습니다.
<답변2>
예, 작동합니다. 저도 똑같이합니다. Qt QtSql 모듈의 Raw SQL 버전에 대해 SQLAlchemy가 제공하는 것과 같은 프로그래밍 API를 좋아합니다. 잘 작동하고 다른 파이썬 객체의 데이터로 하듯이 하위 클래스 QAbstractTableModel을 sqlalchemy 쿼리의 데이터로 채 웁니다. 이것은 캐싱 및 데이터베이스 쿼리를 처리하고 QtSqlTableModel의 장점을 잃는다는 것을 의미합니다. 그러나 그렇게 나쁘지 않아야합니다.
<답변3>
GUI가 QT에서 제공되는 경우에도 데이터베이스 연결을 위해 pyodbc를 고려할 수 있습니다. Pyodbc는 MySQL 및 MS SQL Server와 모두 호환됩니다.
'개발 > Python' 카테고리의 다른 글
파일에 쓸 때 파이썬에서 새 줄을 어떻게 지정합니까? (0) | 2020.09.22 |
---|---|
목록에서 중복 항목을 찾아서 다른 목록을 만들려면 어떻게합니까? (0) | 2020.09.22 |
pyqt를 사용하여 mysql 데이터베이스의 데이터를 테이블에 표시하는 방법은 무엇입니까? (0) | 2020.09.22 |
emit () 및 pyqtSignal ()의 PyQt 적절한 사용 (0) | 2020.09.22 |