2017-02-06 13 views
0

私はstackoverflow投稿をたくさん読んでいましたが、多くのチュートリアルWebサイトもチェックしましたが、私のコードを動作させることはできません。VB.NET SqlConnection to MySQLデータベース

sqlBulkCopyを使用します。したがって、私は 'SqlConnection'クラスのインスタンスが必要です。私は、MySQLデータベースを実行していると私は 'MySqlConnection'クラスとの接続を開くことに全く問題はありません。

私はSqlConnectionを動作させるためにいくつかのアプローチを試みました。

MySqlConnectionに(作品):

Dim a = "Server=localhost;Initial Catalog=hauptdatenbank;User Id=johnny;Password=123456;" 

    Using cn As New MySqlConnection(a) 
    cn.Open() 
    End Using 

SqlConnectionオブジェクト(動作しない):

Dim a = "Server=localhost;Initial Catalog=hauptdatenbank;User Id=johnny;Password=123456;" 

    Using cn As New SqlConnection(a) 
    cn.Open() 
    End Using 

後SQLExceptionがスローされます:

A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)

+4

私はあなたのデータベースライブラリを混合していると思います。私はSqlConnectionクラスがMicrosoft SQLデータベースでのみ動作することを期待しています。 –

+0

それは多くを説明するでしょう。ありがとうございました。だから、私はMySQLデータベースでsqlBulkを使用する機会はありませんか?それがこの投稿を拡大すれば、私は新しい投稿を開くこともできます。 – Johnny

+1

ここをクリックするか、Googleで 'sql bulk insert mysql vb.net'を検索してください。利用可能なオプションがいくつかあります。 –

答えて

0

SqlBulkは、SQL DBのためです。 MySqlBulkLoaderはMySQL DB用です。

コメントありがとうございます!

+0

MySQLとSQL Serverは異なるプロバイダを使用するだけでなく、一括コピークラスは異なるジョブを実行します。 MySQLのクラスは、サーバーのローカルストレージからファイルをロードするだけです。ローカルファイルからデータをロードするためにSQL Serverで 'BULK INSERT'を実行するのと同様の' LOAD DATA INFILE'ステートメントに対するラッパーです –

-1

輸入MySql.Data.MySqlClient

モジュール接続

Public str1 As String = "data source=localhost;user id= root;password=;database= parisbugdb;"

エンドモジュール

If Len(Trim(PassBox.Text)) = 0 Then 
    AlertLabel.Visible = True 
    AlertLabel.Text = "Password required!" 
    PassBox.SelectAll() 
    PassBox.Focus() 
    Return 
End If 

con.Open() 
Dim Sql = "SELECT * FROM userx WHERE username ='" & UserBox.Text & "' AND password = '" & PassBox.Text & "'" 
scmd = New MySqlCommand(sql, con) 
Dim sdr As MySqlDataReader = scmd.ExecuteReader 


Try 
    If sdr.Read = False Then 

     AlertLabel.Visible = True 
     AlertLabel.Text = "Login denied!" 
     con.Close() 
    Else 

     UserBox.Clear() 
     PassBox.Clear() 
     UserBox.Focus() 
     Me.Hide() 
     Dashboard.Show() 
    End If 


Catch ex As Exception 
    MsgBox(ex.ToString()) 
End Try 

End Subの