問題タブ [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.
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 であり、プロバイダーは接続文字列でタイムアウトをサポートしていないようです。どうすればよいでしょうか....
ありがとう。
excel - OleDbDataAdapter.Update は行を返しますが、Excel スプレッドシートに行が追加されません
一度に 1 行ずつ Excel スプレッドシートに行を追加できますが、非常に時間がかかります (Prepare を使用しても、400 レコードで 1 分)。したがって、Sql が有効で、DataTable が適切であることはわかっています。
動作するコード:
DataAdapter を使用して同じことをしようとすると、458 行が返されますが、スプレッドシートに新しい行はありません。失敗するコード:
その後:
intRows = 458 になるのに、Excel ファイルに新しい行がないのはなぜですか?
編集: Microsoft Access .mdb (Excel ではなく) にエクスポートするとどうなるかをテストしたところ、結果から何かがわかります。458 の空白行が表示されます。そのため、Excel で 458 の空白行が表示されていると思われます。では、なぜ行がすべて空白なのかが問題です。
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 ファイルを操作することはできません。インポートコードは以下です。よろしくお願いします。
excel - OleDbDataAdapter を介して Excel データをデータテーブルにインポートすると、角括弧が丸括弧に置き換えられます
このコードを使用して Excel (.xls) データをインポートしていますが、列内のすべての角かっこが丸かっこに置き換えられています。たとえば、列 dm[kg]:
輸入前:dm[kg]
輸入後:dm(kg)
どんな助けにも感謝します。
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) {
vb.net - vb.net oledbdataadapterは、フィールドをdoubleではなく整数にフォーマットします
Visual Studio 2005でoledbdataadapterを使用してCSVファイルをロードします。問題は、最初の行の値が任意のフィールドの0である場合、oledbdataadapterがこのフィールドを整数に変換することです。後続のすべての値は、小数点を削除した整数に丸められます。テストとして、メモ帳でcsvを手動で開き、最初の行を0ではなく0.0に変更すると、ファイルが正しく開かれ、フィールドがdoubleになりました。CSVを開き、フィールドを2倍にフォーマットする正しい方法は何ですか?
開始コードは次のとおりです。
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を使用する方がはるかに高速です。何か案が?たぶん、以前に作成されたその悪い実行計画を作成していませんか?
どんな助けでも大歓迎です、
ありがとう、
c# - パラメータを無視して文を選択しますか?
このコードを使用すると、テーブル内のすべての行が返されますが、その理由がわかりません。
また、従業員名列の値をコピーしてテキスト ボックスに貼り付け、有効な従業員名を使用していることを確認しました。ただし、ステートメントが正しくない場合は、すべての代わりに何も返されないと予想されます。
更新:名前付きパラメーター「@EmployeeName」を削除し、単一引用符で囲まれたハードコードされた名前を入力しようとしました。まだステートメントは従業員情報のすべてを返します