問題タブ [mysqldatareader]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 2列のコンテンツを取得して表示するにはどうすればよいですか?
「PlayerName」と「HighScore」の列を表示しようとしました。多分メッセージボックスに?ヘルプはありますか?ありがとう。
c# - メソッドを 2 回実行すると MySqlDataReader エラーが発生する
私はこのコードを持っています。これを一度実行すると、正しいリストを取得できます。しかし、このメソッドを再度実行すると、リーダーにはデータがありません。もう一度呼び出す前に接続を閉じるのを忘れたのではないかと考えていたので、nullの結果につながりました
c# - MySqlDataReader の内部を理解する
MySqlDataReader (または IDataReader 一般) の癖を理解したいと思います。インターネットで調査しているときに、MySqlDataReader の使用方法に関する多くのリソースを見つけましたが、舞台裏で何が起こっているかについてはほとんどありません。私が実行したベンチマークで、実行に必要な時間がMySqlCommand.ExecuteReader()
ですべてのデータセットを読み取るよりも桁違いに小さいことがわかったため、質問していMySqlDataReader.Reader()
ます。これは、特に大規模なデータ セットに当てはまります。例を挙げると、クエリの実行に 80 ~ 100 ミリ秒、すべてのデータの読み取りに約 15 秒かかる ~740000 行を読み取っています。もう 1 つの例は、すべてのデータを読み取るのに約 200 ミリ秒と約 1 秒のクエリ時間で約 2200 行を読み取ることです。
High Performance MySQLによると、取得したデータは一般的なコネクタ (第 3 版、p. 212) にバッファリングされており、これはConnector/Netにも当てはまると思います。740000 行の場合、すべてのデータをバッファリングできるわけではない、またはバッファリングする必要があるとは限りませんが、2 番目の例では 2200 行を簡単にバッファリングできるはずです (5 ~ 7 列を超えないように要求しています)。
データベースから読み取らずに同等の量のデータ構造を作成するのにかかる時間は 1 ミリ秒未満 (System.Diagnostics.Stopwatch で測定) であるため、これはボトルネックではありません。データがバッファリングされている場合、リーダーからの読み取りになぜそれほど時間がかかるのか疑問に思っています。
mysql - MYSQL テーブルに 1 億レコードを挿入する際のエラー
列を持つテーブルTemp_loadがあります:
上記は、テーブル Temp_load が含まれている列です。
以下のクエリを使用して、このテーブルにデータを挿入しようとしています
ソース テーブルには 2,900 万のレコードが含まれています。上記の挿入ステートメントは 5 時間以上実行されており、まだ実行中です。同じテーブルからこのように一度に2900万の挿入を行っています。別の列で3倍の挿入を行う必要があります。
LOAD DATA INFILE を使用してロードしようとすると、ERROR 1205 (HY000): Lock wait timeout exceeded; がスローされます。トランザクションを再起動してみてください innodb_lock_wait_timeout を 120 に増やしてみましたが、まだ問題に直面しています。
また、ロードする前に、フラグの下で無効にしました。
これに対する他の最適な解決策はありますか? 挿入をはるかに高速に実行できる場所。
ありがとう
mysql - MySqlDataReader がデータを返さない
スクリーンスクレイピングを介してワードプレスにデータをインポートするプロジェクトの一環として、MySQL データベースに保存された古い URL と新しい URL のデータベーステーブルがあります。以下の例では、ExecuteReader コマンドはデータを返していないように見えます (-1 行が影響を受けます)。ワークベンチを介して SQL を実行したところ、データが返されたので、データベース内の SQL またはデータではありません。
コード内の別の時点では、ExecuteNonQuery() と ExecuteScalar() の両方を問題なく呼び出しました (したがって、接続文字列ではありません)。
次に何を試すべきか?
c# - ExecuteReader での Mysql 例外
さて、私のプログラムで奇妙な例外が発生したので、それを複製して皆さんにお見せしようとしました。そのため、id(int-11 primary)、title(varchar-255) を使用してテーブルを作成し、100k のランダムなタイトルを生成しました。 40 文字の長さです。各 ID のカウントを読み取るメソッドを実行すると、以下の例外チェックがスローされます。
私が見つけたのは、これがタイムアウトのためだったので、タイムアウトのためにこれを試しました.
- set net_write_timeout=99999; set net_read_timeout=99999;
- 接続時に pooling=true を試しました
- cmd.timeout = 120; を試しました。
また、複数の値で遊んだ MaxDegreeOfParallelism を追加しようとしましたが、しばらくすると同じエラーが表示されます。
私の例外:
クエリを強制終了できませんでした。接続を中止します。例外は、トランスポート接続からデータを読み取ることができませんでした: 接続先が一定時間後に適切に応答しなかったために接続の試行が失敗したか、接続されたホストが応答しなかったために確立された接続が失敗しました。
タイムアウト オプションを使用して int を読み取る代替方法。
何が原因でしょうか? 手がかりはありますか?
c# - DataGridViewを介したC#ループ - MySqlDataReaderは2行後に停止しますか?
C# ATM で苦労しています...
この厄介なコードについては、次のとおりです。
このループは 2 回だけ実行され、その後停止します...
興味深いのは、「MessageBox」を除くすべてのコメントを外すと、各行がうまくループし、DataGridView のすべての「order_id」が表示されることです。
それがすべきことは次のとおりです。
既存の DataGridView をループし、各行から「Order_id」を取得します。次に、顧客がすでに行った注文の数を数え、その結果を DataGridView の列 11 に追加します...
何か案は?
おっしゃる通り、2列目以降は止まりますが……
c# - c# mysqlreader マルチスレッドの失敗
マルチスレッド SDK と対話する C# を使用してデータベース クラスを作成しています。私は 1 つの接続のみを使用する必要があります (言う必要はありません!) ただし、常に接続と datareadersに関するエラーが発生します。助けていただければ幸いです。
ここに私のコードの構造があります
c# - C# データリーダー エラー
フォーラムでこの問題の解決策を探しましたが、私の問題に対する解決策が見つかりませんでした。ボタンをクリックすると、次のエラーが表示されます。
この接続に関連付けられている開いている DataReader が既に存在し、最初に閉じる必要があります。
そのため、使用後にすべての DataReader を閉じようとしましたが、使用しようとしましCommandBehavior
たが、どれも機能しませんでした。使ってみましusing(MysqlCommand...)
たがうまくいきませんでした。私に何ができる?最も奇妙なことは、コードが機能していることですが、ボタンを押すたびに、そのエラーが再び表示されます。何か案は?
質問に重複のフラグを立てないでください。質問がここに存在することは知っていますが、私の問題に対する回答が見つからないのだと思います。