1

vb.net Windowsフォームアプリケーションプログラムをオンライン/イントラネットデータベースに接続する方法を知っている人はいますか?

はい、接続しますが、ホストでIPを使用すると、データベースにアクセスできません。

これが私の接続です:

Dim conStr As String = "server=192.168.1.18;Uid=root;Pwd='';Database=hrms"
Dim con As New MySqlConnection(conStr)
Try
    MessageBox.Show("Connecting to mysql database..................")
    con.Open()
    Dim sqlStr As String = "SELECT * FROM accounts"
    Dim cmd As MySqlCommand = New MySqlCommand(sqlStr, con)
    Dim rd As MySqlDataReader = cmd.ExecuteReader
    rd.Read()

    If rd.HasRows Then
        MessageBox.Show(rd(0) & " " & rd(1) & " Naa koi na fetch")
        Exit Sub
    Else
        MessageBox.Show("Could not find something")
        Exit Sub
    End If

    con.Close()
Catch ex As Exception
    MessageBox.Show(ex.Message)
End Try 
4

2 に答える 2

0

いくつかのことに慣れる必要があるかもしれません。

MySQLの「localhost」と127.0.0.1の違い

IP アドレスを使用して localhost に接続すると、TCP プロトコル経由で接続されます。

「localhost」名を使用して localhost に接続すると、共有メモリ (または Linux ではソケット) 経由で接続しようとします。

2 番目のケース - サーバーで「共有メモリ」がオフになっている場合、「localhost」経由で localhost に接続しません。ローカル サーバーでそのプロトコルをオンにするか、127.0.0.0 を使用して TCP 接続を強制することができます。

他のホストから接続するための MySQL 権限

MySQL では、ユーザーはデフォルトで localhost からのみ接続する権限を持っています。他のホストから特定のユーザーに接続するためのアクセス許可を追加する必要がある場合があります。

これを読んでください:任意の IP アドレスから MySQL データベースへのリモート アクセスを許可します

于 2013-04-26T20:31:33.837 に答える
0

はい、ネットワーク経由で MySQL サーバーに接続できます。正しい IP アドレスを使用していること、および MySQL が実際にそのインターフェイス/ポートでリッスンしていることを確認してください。また、ファイアウォールを確認してください。注意すべき点がいくつかあります。

  • これは一般的に物事を行うのが遅い方法です
  • MySQL ワイヤ プロトコルは安全ではありません。これは、SSL または VPN 経由で行う必要があります。
  • サーバーをランダムなポート番号の上位に隠しても害はありません。これはあなたを保護するものではありませんが、通常、ボットの大群がデフォルトのパスワードでサーバーを絶えず攻撃するのを防ぎます. MySQL が VPN インターフェイスでリッスンすることのみを許可する場合 (推奨)、これは問題ではありません。
于 2013-04-26T20:22:11.900 に答える