2012-02-21 16 views
1

私はVB.NETでプロジェクトを開発しましたvb.netを使用しているmysql?

このプロジェクトでは、私のWEBサーバーにあるMySQLのデータを使用したいと思います。

ローカルホストのMySQLサーバと通信できますが、WEBサーバと通信することはできません。私のCPanelので

私は、リモートデータベースアクセス

からホストを追加しました。しかし、私はWEB MySQLサーバと通信することはできません。

私を助けてください。

Dim connection As MySqlConnection 
    connection = New MySqlConnection() 

    connection.ConnectionString = "Server=saver ip; Port=2082; Uid=username; Pwd=password; Database=database; Connect Timeout=60;" 

    Try 
     connection.Open() 
     MessageBox.Show("Connection Opened Successfully") 
     connection.Close() 
    Catch mysql_error As MySqlException 
     MessageBox.Show("Error Connecting to Database: " & mysql_error.Message) 
    Finally 
     connection.Dispose() 
    End Try 

私はこれを実行しようとします。このエラーが発生しました。 "データベースへの接続エラー:ストリームからの読み込みに失敗しました。"

注:* "myweb_dbname"と私のユーザー名 "myweb_username"のような私のデータベース名はこのOKですか?私はcPanal1.0(RC1)とmysql5.1.56-logとos linuxを使用しています。

Jeff V:ありがとう!私はあなたのコードをしようとすると...

Dim dataConnection As New MySql.Data.MySqlClient.MySqlConnection() 
dataConnection.ConnectionString = "Server = xx.xx.xxx.xxx; Database = dbNAME; Uid = userID; Pwd = password;" 


Dim dataCommand As MySql.Data.MySqlClient.MySqlCommand = New MySqlCommand() 
dataCommand.Connection = dataConnection 


Try 
    dataConnection.Open() 
    dataConnection.Close() 
Catch x As Exception 
    Console.WriteLine(x.Message.ToString()) 
    MsgBox(x.ToString) 
End Try 

が、私はこのエラーメッセージを取得します。

ラインで

MySql.Data.MySqlClient.MySqlException: Unable to connect to any of the specified MySQL hosts. at MySql.Data.MySqlClient.NativeDriver.Open() at MySql.Data.MySqlClient.Driver.Open() at MySql.Data.MySqlClient.Driver.Create(MySqlConnectionStringBuilder settings) at MySql.Data.MySqlClient.MySqlPool.CreateNewPooledConnection() at MySql.Data.MySqlClient.MySqlPool.GetPooledConnection() at MySql.Data.MySqlClient.MySqlPool.TryToGetDriver() at MySql.Data.MySqlClient.MySqlPool.GetConnection() at MySql.Data.MySqlClient.MySqlConnection.Open() at mysql.Form1.Button3_Click(Object sender, EventArgs e) in C:\Users\pram\Documents\Visual Studio 2008\Projects\mysql\mysql\Form1.vb:line 48

48「dataConnection.Open()」

+0

は、私は、.NETからのMySQL DBに話すコードを持っている...しかし、それは家にいます。あなたが今夜までに適切な答えを得なければ、それを見つけて投稿します。 – webdad3

+0

ありがとう!そんなに! @JeffV – pram

+0

まだ答えがありませんplz ....助けてください...あるもの? – pram

答えて

0

私は何が起こっているかわからないですしかし、これがMSSQLの場合は、通常はプロトコル、ファイアウォールでチェックします。

+0

私は既にファイアウォールを無効にしています! – pram

0

これは私がやった方法です(C#を使用しています):

using System.Data.Sql; 
using MySql.Data.MySqlClient; 

     MySql.Data.MySqlClient.MySqlConnection dataConnection = new MySql.Data.MySqlClient.MySqlConnection(); 
     dataConnection.ConnectionString = "Server = xx.xx.xxx.xxx; Database = dbNAME; Uid = userID; Pwd = password;"; 


     MySql.Data.MySqlClient.MySqlCommand dataCommand = new MySqlCommand(); 
     dataCommand.Connection = dataConnection; 

     //tell the compiler and database that we're using parameters (thus the @first, @last, @nick) 
     dataCommand.CommandText = ("INSERT INTO ...;"); 

     //add our parameters to our command object 
     dataCommand.Parameters.AddWithValue("@recordId", dataString[0].ToString()); 
     ... 

     try{ 
      dataConnection.Open(); 
      dataCommand.ExecuteNonQuery(); 
      dataConnection.Close(); 
     }catch (Exception x){ 
      Console.WriteLine(x.Message.ToString()); 
     } 

私はVB.Netにもともとあったかもしれないと思っていましたが、これをVBにかなり簡単に変換できるはずです。まだ助けが必要な場合は、私に知らせてください。私は今夜​​それを変換しようとします。

あなたのために働くかどうか教えてください。

UPDATE - VB.NETコード:

Dim dataConnection As New MySql.Data.MySqlClient.MySqlConnection() 
dataConnection.ConnectionString = "Server = xx.xx.xxx.xxx; Database = dbNAME; Uid = userID; Pwd = password;" 


Dim dataCommand As MySql.Data.MySqlClient.MySqlCommand = New MySqlCommand() 
dataCommand.Connection = dataConnection 

'tell the compiler and database that we're using parameters (thus the @first, @last, @nick) 
dataCommand.CommandText = ("INSERT INTO ...;") 

'add our parameters to our command object 
dataCommand.Parameters.AddWithValue("@recordId", dataString(0).ToString()) 

Try 
    dataConnection.Open() 
    dataCommand.ExecuteNonQuery() 
    dataConnection.Close() 
Catch x As Exception 
    Console.WriteLine(x.Message.ToString()) 
End Try 

私は、この変換ツール(http://www.developerfusion.com/tools/convert/csharp-to-vb/)を使用 - そうしてみてくださいこれはアウト。

を更新 - コメント質問から回答:

コマンドプロンプトを使用してサイトにpingを実行することができます

cmd.exe 

次に、あなたのサイトのURLでコマンドウィンドウタイプに。それはあなたのサイトのIPアドレスを返すでしょう。

+0

ありがとう!しかし、申し訳ありません!私はC#の初心者です。vb.netにこのコードを変換してください。 – pram

+0

ありがとうございました!私はあなたのコードを2つのタイプのSQLコードでSQLコードを試してみましたが、動作していません!ごめんなさい!何か案が?? – pram

+0

を参照しています:System.Data.SqlとMySql.Data.MySqlClient – webdad3

0

これを試してください。私はこのスニペットを使ってコマンドを実行しています。

Imports MySql.Data.MySqlClient 
Dim strConnString As String = "server=xxx.x.x.x;uid=user;pwd=password;database=xxx" 
Dim objConn As New MySqlConnection(strConnString) 

Public Function MyDataSet(ByVal strSQL As String) As DataSet 
     Dim ds As New DataSet 
     Dim mycmd As MySqlCommand = New MySqlCommand(strSQL, objConn) 
     Dim ad As MySqlDataAdapter = New MySqlDataAdapter 
     ad.SelectCommand = mycmd 
     objConn.Open() 
     ad.Fill(ds, "a") 
     objConn.Close() 
     Return ds 
End Function 

よろしく、 @iamsupergrasya

+0

ありがとうございます!しかし、objConn.Open()の実行時にエラーが発生しました。「指定されたMySQLホストに接続できません」という行があります。なぜ?? – pram

関連する問題