sql >> データベース >  >> RDS >> Sqlserver

SqlDataAdapter.Fill() - 変換オーバーフロー

    データセットはデータ アダプターの「入力」に使用できますが、クエリを実行するときと同じように、通常は DataTable を使用しており、1 つの結果セットしか期待していません。そうは言っても、構造を取得するためだけに、テーブルを事前にクエリします...

    のようなもの
    yourTable(s) where 1=2 から何でも選択  

    これにより、

    を実行すると、期待される結果列が得られます
    DataTable myTable =new DataTable();YourAdapter.Fill( myTable );  

    これで、レコードが返されないためにコンテンツ サイズに失敗しないローカル テーブルができたので、問題の 1 つの列に明示的に移動して、必要に応じてそのデータ型/サイズ情報を設定できます...

    myTable.Columns["NameOfProblemColumn"].WhateverDataType/Precision =必要なものは何でも...  

    今、あなたのローカルスキーマは正当であり、問​​題のある列はその精度で識別されます.ここで、実際にデータを返す 1=2 ではなく、適切な where 句を使用して適切なクエリを入力します...最初のパスには実際の行がないため、 myTable.Clear() を実行する必要さえありません 行をクリアするには...クエリと dataAdapter.Fill() を再実行するだけです .

    同じ問題をシミュレートするためのデータの問題がないため、実際には試していませんが、理論的なプロセスでは、すべての列を明示的に通過する必要はありません...問題を引き起こす可能性のあるいくつかの列だけ.



    1. SQLiteでのUnicode()のしくみ

    2. WordPressの新しいVMインスタンスGCPへの移行

    3. MySQLテーブルのクエリを検索できません

    4. Windowsのpg_upgradeはログファイルpg_upgrade_internal.logに書き込むことができません