1

私はこれを行う方法についてのガイドを求めてインターネットを精査してきましたが、ほとんどの人は、私がすでに行っていることを正確に行うように指示しているようです. 私がしようとしているのは、MySQL データベースに接続し、渡したパラメーターに基づいてデータベースから名前を取得することだけです。問題は、これまでに見たすべてのガイドに基づいてデータベースに接続できなかったことです。

これが私が試した方法の1つです:

$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" 引数で "Open" を呼び出しています: "指定された MySQL ホストのいずれにも接続できません。" 「0」個の引数を指定して「Open」を呼び出す例外:「指定された MySQL ホストのいずれにも接続できません。」「0」個の引数を指定して「Open」を呼び出し中に例外が発生しました:「指定された 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 に答える