我正在使用mysql.data.dll
和powershell
(v2)建立与MySQL数据库的连接。连接字符串如下所示:
$connStr = "server=" + $MySQLHost + ";port=" + $MySQLPort + ";uid=" + $MySQLUser + ";pwd=" + $MySQLPass + ";database=" + $MySQLDatabase + ";Pooling=FALSE"
try
{
$conn = New-Object MySql.Data.MySqlClient.MySqlConnection
$conn.ConnectionString = $connStr
$conn.Open()
}
它连接正常,但是当我运行一个超过几秒钟的查询时,它会超时。 直接在数据库上运行查询很好(尽管运行apx 40秒),所以我假设与此连接相关联的超时导致问题。 有没有办法可以告诉这个连接不要超时60秒。
答案 0 :(得分:2)
我在将Python虚拟环境与MySQL连接时遇到了类似的问题。
原来我需要一个自包含的Python驱动程序来与MySQL服务器进行通信。
做了一些研究,发现了这个: http://php.net/manual/en/ref.pdo-mysql.php
我认为你需要 mysql 插件:
的php5-MySQL的
好您正在使用PowerShell: Windows和Linux命令都可以正常工作。
您可以使用以下命令安装所需内容:
sudo apt-get install php5-mysql
或以管理员身份运行PowerShell(右键单击开始菜单中图标的顶部)并使用:
apt-get install php5-mysql
答案 1 :(得分:1)
我不知道这是否是正确答案,但似乎有效。
我在连接字符串的末尾添加了default command timeout=180;
。所以我现在有:
$connStr = "server=" + $MySQLHost + ";port=" + $MySQLPort + ";uid=" + $MySQLUser + ";pwd=" + $MySQLPass + ";database=" + $MySQLDatabase + ";Pooling=FALSE; default command timeout=180"
try
{
$conn = New-Object MySql.Data.MySqlClient.MySqlConnection
$conn.ConnectionString = $connStr
$conn.Open()
}