問題タブ [oledbdataadapter]

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.

0 投票する
2 に答える
2484 参照

c# - Data Adapter Update を使用した .NET の ACE Timeout を使用した Excel

データセットから Excel スプレッドシートへのデータの書き込みでタイムアウトの問題が発生しています。現在の接続文字列は次のとおりです。

Connect Timeout プロパティがプロバイダーでサポートされていないようです。Connection Timeout、Timeout、ConnectionTimeout、ConnectTimeout なども同様です。私のコードは、Data Adapter と InsertCommand を作成し、データセットから更新します。これは、Update コマンド自体が 15 秒 (デフォルトの OleDb タイムアウト) を超えない限り、うまく機能します。そのため、接続文字列に設定しようとしています。CommandTimeout をデフォルトの 30 から増やしましたが、それはまったく関係ありません。以下は私のコードです:

実際に挿入コマンドのコンテンツとパラメーターを構築するループなどは省略しました。私を信じてください、それはすべてうまくいきます。2200 以上のレコードが正常に動作します。

問題がタイムアウトであることを発見したのは、タイマーを追加した後でした。2221 レコードを処理する場合、14.95 秒かかり、スプレッドシートに問題なく表示されます。2260 レコードを処理する場合、15.21 秒かかり、何も表示されません。いかなる種類のエラーもありません。すべての行の更新後に行の状態を確認しましたが、すべて失敗していません。

結論として、ConnectionTimeout プロパティは ReadOnly であり、プロバイダーは接続文字列でタイムアウトをサポートしていないようです。どうすればよいでしょうか....

ありがとう。

0 投票する
1 に答える
695 参照

excel - OleDbDataAdapter.Update は行を返しますが、Excel スプレッドシートに行が追加されません

一度に 1 行ずつ Excel スプレッドシートに行を追加できますが、非常に時間がかかります (Prepare を使用しても、400 レコードで 1 分)。したがって、Sql が有効で、DataTable が適切であることはわかっています。

動作するコード:

DataAdapter を使用して同じことをしようとすると、458 行が返されますが、スプレッドシートに新しい行はありません。失敗するコード:

その後:

intRows = 458 になるのに、Excel ファイルに新しい行がないのはなぜですか?

編集: Microsoft Access .mdb (Excel ではなく) にエクスポートするとどうなるかをテストしたところ、結果から何かがわかります。458 の空白行が表示されます。そのため、Excel で 458 の空白行が表示されていると思われます。では、なぜ行がすべて空白なのかが問題です。

0 投票する
2 に答える
754 参照

asp.net-mvc-3 - 先頭にゼロがある 3 桁のフィールドをインポートする

ASP.NET、C#、MVC 3、Code First プロジェクト

Excel スプレッドシートからデータをインポートしようとしています。すべてのセルをテキストとしてフォーマットしました。
インポート ワークシートのサンプル行は次のとおりです。

デバッグで実行し、ds DataSet にドリルダウンすると、Account 列と Card 列が文字列としてインポートされ、3-Digit 列と Route 列が double としてインポートされます。問題は、データ行 3 の 0 (082) で始まる 3 桁の数字で発生します。これは System.DBNull としてインポートされ、空になります。先頭にゼロが付いた 3 桁のコードをインポートできるようにする必要があります。インポートを強制的にすべての文字列にする方法、またはこの問題に対処する別の方法はありますか? ウェブで検索しましたが、解決策が見つかりませんでした。これはブラウザから実行されるため、ローカル マシン上のレジストリ、dll、または ini ファイルを操作することはできません。インポートコードは以下です。よろしくお願いします。

0 投票する
0 に答える
449 参照

excel - OleDbDataAdapter を介して Excel データをデータテーブルにインポートすると、角括弧が丸括弧に置き換えられます

このコードを使用して Excel (.xls) データをインポートしていますが、列内のすべての角かっこが丸かっこに置き換えられています。たとえば、列 dm[kg]:

輸入前:dm[kg]

輸入後:dm(kg)

どんな助けにも感謝します。

0 投票する
1 に答える
126 参照

oracle - パラメータエラーで.netのOracleにテーブルを作成する

Oracle 10 G データベースを使用しています

私がそれを使用するときとSET parameter X VALUE IN .NET with OleDbDataAdabtor

私が得るエラーはORA-01036: illegal variable name/number

これが私の機能です。クエリは上がクエリ パラはパラメータ値を保持する構造 public DataTable GetTable(String Query,AsycudaParameter[] Para) {

0 投票する
2 に答える
585 参照

vb.net - vb.net oledbdataadapterは、フィールドをdoubleではなく整数にフォーマットします

Visual Studio 2005でoledbdataadapterを使用してCSVファイルをロードします。問題は、最初の行の値が任意のフィールドの0である場合、oledbdataadapterがこのフィールドを整数に変換することです。後続のすべての値は、小数点を削除した整数に丸められます。テストとして、メモ帳でcsvを手動で開き、最初の行を0ではなく0.0に変更すると、ファイルが正しく開かれ、フィールドがdoubleになりました。CSVを開き、フィールドを2倍にフォーマットする正しい方法は何ですか?

開始コードは次のとおりです。

0 投票する
1 に答える
2520 参照

asp.net - パラメータを使用してクエリを実行すると、SqlCommandが遅くなります

DbDataAdapter.Fill()は、パラメーターを実行するときに非常に遅くなります。

2つのパラメーターを含むクエリがあり、それらのパラメーターをクエリにハードコーディングすると、実行に1秒かかります(470kテーブル行で、20行のみが返されます)。

私はここに似たような投稿をたくさん見つけました、そして私はそれらすべての解決策(arithabortの設定、オプションの再コンパイル、オプションの最適化など)を運が悪かったので試しました。

ストアドプロシージャではなくクエリ(SQL Server 2008)を実行するだけなので、arithabortを使用したクエリは次のようになります。

また、同じトランザクションでset arithabortを呼び出そうとしましたが、最初にそのクエリを実行しました。

何か間違ったことをしているのかどうかはわかりませんが、パラメーターを定義したときに、ado.netがado.netで非常に悪い実行プランを実行しているという感覚があります。

この悪い選択の結果として、SSMSの実行時間は(キャッシュされた後)1秒ですが、aspの実行時間は9秒のようです!

クエリは次のようなものです。

strSQL @ = "select *
from Table1 where Name like @name";

その後:

2013年1月14日編集(18:44)

SqlConnectionとSqlCommandを直接使用しているので、DbProviderFactoryから接続を取得しなくなりました。DbCommandとDbProviderが基本クラスであることは知っていますが、パフォーマンスが300%のように大幅に向上するため、そこにはもっと何かがあると思います。

前に示したコードですでに試したので、これはfillメソッドではありません。

とにかく、理由はわかりませんが、SqlConnectionを使用する方がはるかに高速です。何か案が?たぶん、以前に作成されたその悪い実行計画を作成していませんか?

どんな助けでも大歓迎です、

ありがとう、

0 投票する
3 に答える
1287 参照

c# - パラメータを無視して文を選択しますか?

このコードを使用すると、テーブル内のすべての行が返されますが、その理由がわかりません。

また、従業員名列の値をコピーしてテキスト ボックスに貼り付け、有効な従業員名を使用していることを確認しました。ただし、ステートメントが正しくない場合は、すべての代わりに何も返されないと予想されます。

更新:名前付きパラメーター「@EmployeeName」を削除し、単一引用符で囲まれたハードコードされた名前を入力しようとしました。まだステートメントは従業員情報のすべてを返します