C#からXSERVERのMySQLへ接続
C#で書いたコードから
XSERVER(外部)の
MySQLへ接続する方法です。
SSHポートフォワーディングの実装も
C#で全て実装可能ですが、
後にメンテしないといけなくなる
コードの量が増えるので、
SSHポートフォワーディングは、
コードでの実装はしませんでした。
SSHポートフォワーディングは、
PuTTYを使って
SSHポートフォワーディングをしています。
PuTTYでのポートファードは、
こちらのページを参考にしてみてください。
C#のコードでは接続先のホスト名と
ポート番号の変更のみで、
通常のMySQLへ
接続するコードと同様です。
開発環境
今回の開発環境です。
Visual Studio 2017(windowsフォーム/framework 6)
追加モジュール:MySQL Connector/NET
SSHポートフォワーディング
PuTTyのポートフォワーディング機能を使用
MySQL Connector/NETのダウンロードページ
MySQL Connector/NETのダウンロードページより
MySQL Connector/NETをダウンロードします。
※NUGETを使ってもインストールできると思います。
ダウンロードをした後は、
ダウンロードした
インストーラーを実行します。
特にインストール自体は、
難しくは無いとは思います。
C#のコード
C#のコードは下記のようになります。
参照設定でMySqlを追加して
using MySql.Data.MySqlClient;
を先頭に追加します。
ここから下がSSHポートフォワーディングを経由して
XSERVER(外部)のMySQLへ接続して
データを取得する処理になります。
前提として
PuTTYが起動されて
XSERVERへの
ポートフォワーディングが
実行されている状態です。
コード自体はXSERVERのMySQLに接続をして、
接続先のDBの[test]テーブルより全行を取得して
取得したデータはフォーム上の
データグリッドビュー(dgXSrvMySQL)に表示をします。
成功すればXSERVER(外部)の
MySQLからデータを取得できます。
同様に更新・追加・削除も可能です。
コード自体は通常のMySQLへの操作と同じです。
ローカルへのアクセスでは無いので
少しレスポンスが遅いとは思います。
ボタンを押すと
下記のサンプルコードが
実行されて
XSERVERのDBから
データが取得されて
画面に表示されます。
C#からMySQLへ接続してデータ取得をするサンプル
C#からMySQLへ接続してデータ取得をするサンプルです。
string connectstring = "Server = localhost;Port = 13306(SSHポートフォワーディングのポート番号); Database = 接続先のDB名; Uid =接続先DBのユーザID ; Pwd = 接続先DBのパスワード"
MySqlConnection con = new MySqlConnection(connectstring);
con.Open();
//データ取得をして表示
MySqlDataAdapter da = new MySqlDataAdapter("SELECT * FROM test", con);
DataTable dt = new DataTable();
da.Fill(dt);
dgXSrvMySQL.DataSource = dt;
//コネクションCLOSE
con.Close();
これでC#からXSERVERの
MySQLへ接続は以上になります。
お疲れ様です。
スポンサーリンク