2017-03-24 13 views
1

私は初心者です.NETとMysql Connectionで作業しています。.NET with MySqlConnectionと接続プール

.NET用の誤解を避けるため、Connection poolについてはいくつか質問したいと思います。ここで

は私のコード

class Program 
{ 
    static void Main(string[] args) 
    { 
     string connectionSetting = "Data Source=127.0.0.1;Database=my_table; User Id=root;Password=root" + ";charset=euckr"; 

     MySqlConnection con = new MySqlConnection(connectionSetting); 

     con.Open(); 

     MySqlCommand command = new MySqlCommand("insert into log(strLog) values('log1')", con); 

     command.ExecuteNonQuery(); 

     con.Close(); 
    } 
} 

簡単です私は、MySQLサーバの接続インスタンスを作成する方法にしようとしてきた、答えはシングルトンだった、しかし、私はStackOverflowの中に多くのポストを発見し、いくつかの答えは「ドンを言いますt共有MySql Connectionインスタンスとそれは私がしなければならないすべてです。

私の質問は「誰が接続プールを制御していますか?上記のコードで

、呼び出しにかかるGETPOOL、PutPoolので、接続プールを制御することに関する何らのコードはありません。だから私は、データベース接続プールがmysqlサーバー側で制御され、.NET側に他のジョブはないと考えました。私の理解は正しいのですか?

私の考えが正しいとすれば、私は次のコードを使用します。

class dbcp 
{ 
    public const string m_ConnectionString = "Data Source=127.0.0.1;Database=my_table; User Id=root;Password=root" + ";charset=euckr"; 

    public MySqlConnection connection; 

    public dbcp() { } 

    public void QueryLog(string log) 
    { 
     connection = new MySqlConnection(m_ConnectionString); 
     connection.Open(); 

     string strSQL = "insert into log(strLog) values('log1')"; 
     MySqlCommand cmd = new MySqlCommand(strSQL, connection); 
     cmd.ExecuteNonQuery(); 

     connection.Close(); 
    } 
} 

class SomeClassA 
{ 
    public dbcp dbHandler; 
} 

class SomeClassB 
{ 
    public dbcp dbHandler; 
} 

class Program 
{ 
    static void Main(string[] args) 
    { 
     string connectionSetting = "Data Source=127.0.0.1;Database=gw_ocpp_server; User Id=root;Password=root" + ";charset=euckr"; 

     MySqlConnection con = new MySqlConnection(connectionSetting); 

     con.Open(); 

     MySqlCommand command = new MySqlCommand("insert into log(strLog) values('log1')", con); 

     command.ExecuteNonQuery(); 

     con.Close(); 
    } 
} 
+0

使用して置く考えてみましょ追加情報です(VAR接続を=新しいMySqlConnectionに(m_ConnectionString)){。 ..ここにコード} – Tony

答えて

0

接続プーリングは、接続のプールを作成し、管理する手法である:

はここについて connection pooling