2009-02-26 13 views
0

Ado.netの学習を学び始め、ちょっとしたことがありました。SqlConnection.RetrieveStatistics()はコレクションにデータを設定しません(StatisticsEnabledはtrueに設定されています)

1) SqlConnection.StatisticsEnabledプロパティを使用して接続統計情報を有効にすると、SqlConnectionインスタンスが実行するアクションについてのさまざまな情報(RetrieveStatistics()経由)を取得できるはずです。したがって、以下のコードを呼び出す前に、私はすでに接続を開いてデータベースからいくつかの値を取得しました。そうすれば、統計はコマンドがどのように実行されたかに関する情報を提供するはずです。しかし、コレクションから取り出されたすべての値は、文字のゼロ(文字列に変換されたとき)を返します。それがどんなアイデアなのか?いくつかのPCを想定し

   ... 
sc.StatisticsEnabled = true; 
IDictionary statistic = sc.RetrieveStatistics(); 
Label1.Text = statistic["BytesReceived"].ToString(); //Label1.Text displays 
                 character”0” 

2)はどのような名前は次の2台のサーバーのいずれかを指定するには、()接続文字列で使用することになり、2台のSQLサーバ(MySQLサーバとMS SQLサーバ)を実行しますか?

は、私はあなたが提供したあなたのコードに基づいて伝えることはできませんが、私の非常に最初のアイデアは、あなたが接続を開くしていないということでしょうあなたに

+0

サーバで統計情報を有効にしていますか? – leppie

+0

sc.StatisticsEnabled = trueの場合はyesとなります。 –

答えて

0

をすることができますMSSQLConnectionStringとして

統計情報の質問には私が一度も使っていないので答えますが、ConnectionStringでは異なる接続オブジェクトを使う必要があります。

たとえば、SQLConnectionオブジェクトを使用してMySQLデータベースに接続することはできません。 MySQLConnectionオブジェクト(link)を使用する必要があります。さまざまな接続文字列オプションの情報を得ることができますhere

1台のコンピュータに複数のSQLサーバを置くことはできますが、それは問題ではありません。彼らはすべて、別のTCPポートを使用します(SQL 1433、MySQL 3306)。

+0

こんにちは 私は完全に異なるデータプロバイダを使用している異なるSqlサーバーについて忘れてしまった! 私はいくつかのMS SQLサーバをPC上で実行していると仮定し、私の最良の選択肢は、特定のMS SQLサーバが使用するTCPポートを(接続文字列で)指定することです! thanx mate –

0

に感謝します。限り、あなたが2番目の質問は、次の2つの接続文字列を持っているつもりだった、彼らは同じ箱にあったならば、私はおそらく[AppNameは] MySQLConnectionStringのようなものを言うだろうし、[AppNameは]私は「

関連する問題