1

我一直在互联网上搜索有关如何执行此操作的指南,并且大多数人似乎都告诉我要做我已经在做的事情。我要做的就是连接到 MySQL 数据库并根据我传递的参数从数据库中检索名称。问题是我无法根据迄今为止看到的所有指南连接到数据库。

这是我尝试过的方法之一:

$connectionstring = "server=mysql.collegename.edu;uid=sconsdoc;pwd=password;database=namedatabase;"

try {
    $connection = New-Object MySql.Data.MySqlClient.MySqlConnection
    $connection.ConnectionString = $connectionString
    $connection.Open()
} catch {
    Write-Host "ERROR : Unable to run query : $query 'n$Error[0]"
} finally {
    $connection.Close()
}

我收到以下错误:

错误:无法运行查询:'nException 使用“0”参数调用“打开”:“无法连接到任何指定的 MySQL 主机。” 使用“0”参数调用“打开”的异常:“无法连接到任何指定的 MySQL 主机。” 使用“0”参数调用“打开”的异常:“无法连接到任何指定的 MySQL 主机。”[0]

我很确定我指定了正确的主机,并且我知道我有正确的登录凭据(我至少可以通过 phpmyadmin 登录),所以我不确定出了什么问题。我遵循了我在几个指南中看到的格式,所以我不明白这里有什么问题。如果我应该将参数传递给 open,它们是什么?就像我说的,这是我能找到使用的唯一格式。

4

1 回答 1

2

由于关闭/过滤的端口,“无法连接”听起来像是被阻止的连接尝试。检查您是否可以实际访问远程服务器上的端口:

telnet mysql.collegename.edu 3306

如果数据库正在侦听非默认端口,则需要将该端口添加到连接字符串:

server=mysql.collegename.edu;port=12345;uid=user;pwd=password;database=dbname;
于 2013-05-14T22:49:51.667 回答