2

MySqlDataAdapter.Fill(DataTable) メソッドに問題があります。

もちろん、MySQL を使用しています。

その問題は昨日始まり、その前はすべてうまくいっていました。この問題は「どこからともなくやってきた」。

〜 300 行を含むテーブルがあります。そして、それははるかに大きくなります。Fill メソッドを使用してクエリを実行すると、行のフェッチに時間がかかりすぎます。そしてタイムアウト例外をスローします。

わずか80行を正常に取得するのに約 30 秒かかりました。

しかし、 MySQL Query Browser で直接SAMEクエリを実行すると、すべての行が即座にフェッチされます。

2日前に同じ方法をテストしましたが、すべて問題ありませんでした。

なぜこうなった?

4

1 に答える 1

2

問題を解決しました!

数日前、アプリケーションでトレースを実行するようにapp.configを構成しましたが、削除するのを忘れました。私はこれを置きました:

<system.diagnostics>
  <trace autoflush="true" />

  <sources>
    <source name="System.Net">

      <listeners>
        <add name="System.Net"/>
      </listeners>
    </source>
    <source name="System.Net.Sockets">
      <listeners>
        <add name="System.Net"/>
      </listeners>
    </source>
    <source name="System.Net.Cache">
      <listeners>
        <add name="System.Net"/>
      </listeners>
    </source>
  </sources>
  <sharedListeners>
    <add
     name="System.Net"
     type="System.Diagnostics.TextWriterTraceListener"
     initializeData="System.Net.trace.log"
            />
  </sharedListeners>
  <switches>
    <add name="System.Net" value="Verbose" />
    <add name="System.Net.Sockets" value="Verbose" />
    <add name="System.Net.Cache" value="Verbose" />
  </switches>
</system.diagnostics>

私はそれを削除し、再コンパイルして問題を解決しました:D

于 2012-07-30T16:33:11.900 に答える