Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python pyQT和MySQL或MSSQL连接_Python_Mysql_Sql Server_Pyqt - Fatal编程技术网

Python pyQT和MySQL或MSSQL连接

Python pyQT和MySQL或MSSQL连接,python,mysql,sql-server,pyqt,Python,Mysql,Sql Server,Pyqt,经过大量的研究和调查,我决定使用Eric5作为编辑器,使用pyQT4进行Python开发。然而,我在尝试让MySQL工作时遇到了困难。QMySQL驱动程序似乎有问题。从我到目前为止看到的讨论来看,唯一的修复方法是安装pyQT SDK,然后重新编译MySQL驱动程序。我真的不想经历一个痛苦的过程。实际上我更喜欢使用MSSQL,但我没有找到任何支持MSSQL的pyQT驱动程序 所以,我的问题是:在mySQL或MSSQL中使用pyQT的最佳方法是什么,这实际上是可行的 在等待答案时,我可能只是修补SQ

经过大量的研究和调查,我决定使用Eric5作为编辑器,使用pyQT4进行Python开发。然而,我在尝试让MySQL工作时遇到了困难。QMySQL驱动程序似乎有问题。从我到目前为止看到的讨论来看,唯一的修复方法是安装pyQT SDK,然后重新编译MySQL驱动程序。我真的不想经历一个痛苦的过程。实际上我更喜欢使用MSSQL,但我没有找到任何支持MSSQL的pyQT驱动程序

所以,我的问题是:在mySQL或MSSQL中使用pyQT的最佳方法是什么,这实际上是可行的


在等待答案时,我可能只是修补SQLAlchemy和mySQL.Connector,看看它是否会与pyQT共存。

是的,这会起作用,我也会这么做。我喜欢编程API,就像SQLAlchemy在Qt的QtSql模块的原始SQL版本上提供的那样。它工作得很好,只需使用sqlalchemy查询中的数据填充子类QabStretctTableModel,就像使用任何其他python对象中的数据一样。但这意味着您正在处理缓存和数据库查询,失去了QtSqlTableModel的精确性。但是应该不会太糟糕。

是的,那会奏效,我也会这么做。我喜欢编程API,就像SQLAlchemy在Qt的QtSql模块的原始SQL版本上提供的那样。它工作得很好,只需使用sqlalchemy查询中的数据填充子类QabStretctTableModel,就像使用任何其他python对象中的数据一样。但这意味着您正在处理缓存和数据库查询,失去了QtSqlTableModel的精确性。但是应该不会太糟糕。

如果您更愿意使用MS SQL,那么在PyQt中使用QSqlDatabase和ODBC驱动程序非常容易

下面是我正在从事的一个使用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()
显然,您需要已经设置了主机名、数据库名、用户名和密码变量。注释掉的行显示可信连接的连接字符串;我还没有真正需要尝试的东西,但如果你需要的话,它应该会起作用


一旦打开数据库,就可以像使用MySql和PyQt驱动程序一样使用QSqlQuery。

如果您更愿意使用MS-SQL,那么在PyQt中使用QSqlDatabase和ODBC驱动程序非常容易

下面是我正在从事的一个使用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()
显然,您需要已经设置了主机名、数据库名、用户名和密码变量。注释掉的行显示可信连接的连接字符串;我还没有真正需要尝试的东西,但如果你需要的话,它应该会起作用


<> P>一旦打开数据库,就可以使用QSQL查询,如果使用Pyqt驱动程序使用MySQL。

< P>您可以考虑数据库连接,即使GUI是由QT提供的。PyoBoc与MySQL和MS SQL Server兼容。

< P>您可以考虑数据库连接,即使GUI是由QT提供的。Pyodbc与MySQL和MS SQL Server都兼容。

感谢您提供的提示和示例代码。原来我的问题是我的安装。我犯了一个错误,看到其他人在互联网上发布关于必须手动构建驱动程序的帖子,然后假设这是我的问题。事实证明,我通过卸载我正在测试的所有Python工具解决了这个问题。我重新安装了Python3.2、Pyqt3.2和Eric5。用于测试MySQL连接的示例现在可以正常工作。@Tim,你可以发布用于连接MySQL的设置吗?我尝试了以下方法,但没有成功
db=QtSql.QSqlDatabase.addDatabase(“QODBC”)
db.setDatabaseName('DRIVER={MySQL Server};Server=%s;DATABASE=%s;UID=%s;PWD=%s;'))%(主机名、数据库名、用户名、密码))感谢您的提示和示例代码。原来我的问题是我的安装。我犯了一个错误,看到其他人在互联网上发布关于必须手动构建驱动程序的帖子,然后假设这是我的问题。事实证明,我通过卸载我正在测试的所有Python工具解决了这个问题。我重新安装了Python3.2、Pyqt3.2和Eric5。用于测试MySQL连接的示例现在可以正常工作。@Tim,你可以发布用于连接MySQL的设置吗?我尝试了以下方法,但没有成功
db=QtSql.QSqlDatabase.addDatabase(“QODBC”)
db.setDatabaseName('DRIVER={MySQL Server};Server=%s;DATABASE=%s;UID=%s;PWD=%s;'))%(主机名、数据库名、用户名、密码))它确实是这样工作的,但结果我还有其他问题。一个新的安装为我解决了这个问题。它确实是这样工作的,但结果证明我还有其他问题。一个新的安装为我解决了这个问题。