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

DelphiでのBDEとADO

    Delphi 2007についてはわかりませんが、Delphi7とOracle8でも同じことをしました。

    これが私がしたことです:

    • TAdoDataSet.CursorLocationを設定します クエリによると:
      • clUseClient クエリがGUIのレコードをフェッチし、クエリが比較的「単純」である場合-グループ化や合計はありません
      • clUseServer クエリに何らかの集計(合計、グループ化、カウント)がある場合
    • TAdoDataSet.CursorTypeを設定します クエリによると:
      • ctForwardOnly データセットをスクロールバックする必要がないレポートの場合-clUseServerでのみ機能します
      • ctStatic GUI用。これは、 clUseClientで機能する唯一のモードです。
    • TAdoDataSet.LockTypeを設定します クエリによると:
      • ltReadOnly 編集に使用されていないすべてのデータセット(グリッド、レポート)
      • ltOptimistic 変更直後にレコードがデータベースに投稿されたとき(例:ユーザーがフォームでデータを編集したとき)
      • ltBatchOptimistic 多数のレコードを変更する場合。これは、多数のレコードをフェッチし、それらに対していくつかの処理を実行してから、更新をバッチでデータベースに送信する場合に使用します。これは、clUseClientおよびctStaticと組み合わせると最適に機能します。
    • 私の経験では、Oracle用のMicrosoftOLEDBプロバイダーはOracleOleDbプロバイダーよりもうまく機能しました。あなたはそれをテストする必要があります。
      編集: 考えられるblobの問題に関するFabricioのコメントを確認してください。
    • TAdoQUeryを置き換えます TAdoDataSetを使用 。 TAdoQueryは、アプリをBDEからADOに変換するために作成されましたが、Borland/Codegearの推奨事項はTAdoDataSetを使用することでした
    • Oracle接続文字列を再確認して、ネットワーク遅延がないことを確認します。 Oracleへの接続にはどのくらい時間がかかりますか? TnsPingの長さはどれくらいですか?


    1. SQLServerテーブルのID列の値をリセットする方法-SQLServer/T-SQLチュートリアルパート43

    2. MySQL、2つの列を連結します

    3. androidsqliteで呼び出されないアップグレードメソッドについて

    4. 12c VARCHAR2(32767)