13

C# 経由で mysql データベースに接続するにはどうすればよいですか?

これは私の接続文字列です:

connectionString="server=localhost;port=3306;user id=root;Password=*****;database=Data" providerName="MySql.Data.MySqlClient"

次のような形式にする必要があるため、この形式で SSH 文字列を配置する方法:

SSH ホスト名、SSH ユーザー名、SSH パスワード、Mysql ホスト名、Mysql ユーザー名、Mysql パスワード、ポート

4

7 に答える 7

8

MySql と MySqlClient がそのようなことをサポートしているとは思いません。接続文字列は、データベース専用です。最初に SSH サーバーに接続し、次にそのトンネルを介して Sql 接続をルーティングする方法を見つけるには、SSH クライアントが必要です。

http://www.howtogeek.com/howto/ubuntu/access-your-mysql-server-remotely-over-ssh/

SSH 接続を処理するための Microsoft .Net ライブラリはないと思いますが、Code Plex に役立つオープン ソース プロジェクトがあります。

http://sshnet.codeplex.com/

于 2012-05-29T21:24:42.713 に答える
5
        // using Renci.sshNet 

        PasswordConnectionInfo connectionInfo = new PasswordConnectionInfo(hostAdres, hostNaam, wachtwoord);
        connectionInfo.Timeout = TimeSpan.FromSeconds(30);
        var client = new SshClient(connectionInfo);
        client.Connect();
        ForwardedPortLocal portFwld = new ForwardedPortLocal("127.0.0.1", Convert.ToUInt32(hostpoort), DataBaseServer, Convert.ToUInt32(remotepoort)); client.AddForwardedPort(portFwld);
        portFwld.Start();
        
        var connection = new MySqlConnection("server = " + "127.0.0.1" + "; Database = database; password = PWD; UID = yourname; Port = 22");
        connection.Open();
于 2015-11-22T16:34:18.700 に答える
1

接続文字列にSSHプロキシまたはSSHクレデンシャルを指定することはできません。最初にSSH接続を確立してから、質問にあるような標準の接続文字列を使用する必要があります。

C#を介してSSH接続を確立するには、sharpSshなどのライブラリを使用できます。

于 2012-05-29T21:20:48.937 に答える