2017-03-27 10 views
0

ですから、ローカルホストデータベースに接続しようとしています。私はおそらくユーザーを適切に作成していないでしょう。ローカルホストデータベースに接続します

  • ユーザー名:MYUSERNAME
  • ホスト名:localhostを(デフォルトでだった "%" を置き換え)
  • パスワード:MYPASSWORD
  • 私は、ユーザーが次の情報を持つアカウント>のphpMyAdminでユーザーを作成しましたここではネイティブのMySQL認証(唯一のオプション)

そして、私のコードです:

  • 認証プラグイン

    Try 
    { 
    $Server = "localhost" 
    $Database = "myDatabase" 
    $uid ="myUsername" 
    $pwd = "myPassword" 
    $SQLConnection = New-ObjectSystem.Data.SQLClient.SQLConnection 
    $SQLConnection.ConnectionString ="server=$Server;database=$Database;Integrated Security=True" 
    $SQLConnection.Open() 
    } 
    catch 
    { 
        [System.Windows.Forms.MessageBox]::Show("Failed to connect SQL Server:") 
    }           
    

    は8行目では、私はまた、あなたがMSSQLサーバーの代わりに、MySQLへ接続しようとしている

    $SQLConnection.ConnectionString ="server=$Server;database=$Database;Integrated Security=False;uid=$uid;pwd=$pwd" 
    

    と..

    $SQLConnection.ConnectionString ="server=$Server;database=$Database;uid=$uid;pwd=$pwd" 
    
  • +0

    エラーが発生しますか?しかし、何が間違っているのかを知ることは難しいです。 "New-ObjectSystem.Data.SQLClient.SQLConnection"に入力するだけで、 "New-Object System.Data.SQLClient.SQLConnection"のようにスペースが欠落しています。 –

    +0

    エラーメッセージpls。 –

    +0

    エラーは次のとおりです。 "0"引数を使用して "open"を呼び出す例外... – nightlynutria

    答えて

    0

    まず: あなたの接続は、次のように初期化する必要があります。

    あなたは MSSQL に接続している場合は、接続文字列の宣言に構文エラーをしました。これに代えて

    を::

    $Server = "localhost" 
    $Database = "myDatabase" 
    $uid ="myUsername" 
    $pwd = "myPassword" 
    $SQLConnection = New-Object System.Data.SQLClient.SQLConnection 
    $SQLConnection.ConnectionString ="server=$Server;uid=$uid; pwd=$pwd;database=$Database;Integrated Security=False" 
    $SQLConnection.Open() 
    

    あなたはのMysqlを使用している場合は、コネクタをインストールしてから、次のように使用する必要があります:

    $Server = "localhost" 
    $Database = "myDatabase" 
    $uid ="myUsername" 
    $pwd = "myPassword" 
    $SQLConnection = New-ObjectSystem.Data.SQLClient.SQLConnection 
    $SQLConnection.ConnectionString ="server=$Server;database=$Database;Integrated Security=True" 
    $SQLConnection.Open() 
    

    これを行う言及し、以下の

    [void][System.Reflection.Assembly]::LoadWithPartialName("MySql.Data") 
    $connectionString = "server=$server;uid=$uid;pwd=$pwd;database=$database;" 
    $connection = New-Object MySql.Data.MySqlClient.MySqlConnection 
    $connection.ConnectionString = $connectionString 
    $connection.Open() 
    $sql = "show tables" 
    $command = New-Object MySql.Data.MySqlClient.MySqlCommand($sql, $connection) 
    $dataAdapter = New-Object MySql.Data.MySqlClient.MySqlDataAdapter($command) 
    $table = New-Object System.Data.DataTable 
    $recordCount = $dataAdapter.Fill($table) 
    echo $table 
    
    +0

    ありがとうございました。将来誰かがそれを必要とする場合:[こちらは](https://www.cogmotive.com/blog/powershell/querying-mysql-from-powershell)コネクターをインストールし、powershellを使ってmysqlに接続するためのもう1つの有用なリソースです。 – nightlynutria

    0

    を試してみました。あなたの接続オブジェクトは、MSSQLを表し第4の点でのMySQLを言及した全ての

    $SQLConnection = New-Object MySql.Data.MySqlClient.MySqlConnection 
    
    関連する問題