アクセスデータベーステーブルにあるnexusdbテーブルにデータを挿入します。私はこれに対して2つのクエリを使用しています。 1つはアクセスデータベースの選択データ用、もう1つはinsert to nexusdb用です。私はループを使用してこれを挿入したくありません。選択したすべてのデータセットを直接挿入する方法はありますか?デルファイのデータセットからデータを挿入
答えて
選択したすべてのデータセットを直接挿入する方法はありますか?
2つのデータベースはMS SQLサーバやMySQLのようないくつかの他のバックエンドのSQLサーバ、たとえば、上にあった場合は、あなたがこれを行うことができますが、MS AccessとNexusDB、私の知っているどれもの間。彼らが共通に持っている唯一のDBアクセスコネクタは、ODBCと、異なるドライバ間で異種クエリをサポートしていないafaikです(つまり、 "destinationserver.database.table select * from source.databaseから挿入できません" .table ")
だから私はあなたがループで立ち往生していると思います。唯一の本当の疑問は、あなた自身でループを書く必要があるのか、それともライブラリコードに隠れているのかということです。
以下のコードは、FireDACのTFDDataMoveコンポーネントを使用してテーブル間でデータを移動します。もちろん、それを使用するには、宛先サーバがFireDACまたはODBCをサポートする必要があります。 Uwe Raabe氏によれば、FireDACはNexusDBをサポートしていません(現在はDelphiの最新バージョン(シアトル))。逆も同様です。しかし、彼らのウェブサイトによると、NexusDB用のODBCドライバがあります。私はNexusDBをインストールしていませんが、次は別のODBCドライバでうまく動作しますので、NexusDBで作業する必要があります。
procedure TForm1.TestDataMove;
var
Item : TFdMappingItem;
begin
Item := FDDataMove1.Mappings.Add;
Item.SourceFieldName := 'ID';
Item.DestinationFieldName := 'ID';
Item := FDDataMove1.Mappings.Add;
Item.SourceFieldName := 'Name';
Item.DestinationFieldName := 'Name';
FDDataMove1.Source := FDTable1;
FDDataMove1.Destination := FDTable2;
FDDataMove1.Options := FDDataMove1.Options - [poOptimiseSrc];
FDDataMove1.Execute;
FDConnection2.Connected := False;
FDTable2.Open;
end;
シアトルのFireDACはNexusDBをサポートしていません。 DataMoveコンポーネントのソースは実際には単純なTDataSetになる可能性があるため、NexusテーブルからFD互換のデータセットにデータを移動する場合は、この方法が有効です。 –
恐らく 'TFDBatchMove'がより良いアプローチです:http://docwiki.embarcadero.com/Libraries/Seattle/en/FireDAC.Comp.BatchMove.TFDBatchMove –
@UweRaabe:ありがとうございます。 FireDACをサポートするためのNexusのキャンペーンは少しありましたが、何が原因かわかりません。 – MartynA
- 1. C#データセットからテーブルに挿入
- 2. データベーステーブルへのデータセットの挿入
- 3. データセットをoracleに挿入
- 4. DataTableにデータセットを挿入
- 5. 配列のデータをデータベースから挿入
- 6. MySQLからのneo4jへの大きなデータセットの挿入
- 7. SQL Server 2000 - データセットまたはC#コレクションからの一括挿入
- 8. データフローからBigQueryにデータを挿入
- 9. フォームからAccessデータベースにデータを挿入
- 10. データベースからjtextfieldにデータを挿入
- 11. アンドロイドからオンラインデータベースにデータを挿入
- 12. キャッシュからコンポーネントにデータを挿入
- 13. JSONファイルからHTMLにデータを挿入
- 14. データテーブルからMySqlテーブルにデータを挿入
- 15. asp.netからmsアクセスデータベースにデータを挿入
- 16. PHP APIからMySQLデータを挿入
- 17. excelからsqlテーブルへデータを挿入
- 18. mysqlからFacebookにデータを挿入
- 19. SPARQL - リモートエンドポイントからデータを挿入
- 20. VB.NETからMySQLデータベースにデータを挿入
- 21. Youtube APIからMysqlにデータを挿入
- 22. モーダルからデータベースにデータを挿入
- 23. テキストボックスからデータベースにデータを挿入
- 24. sqlからC#へのデータ挿入
- 25. フォームからASP.Netの挿入データに
- 26. 1つのテーブルから別のテーブルにデータを挿入するステートメントを挿入
- 27. データセットを使用してリレーショナルデータを挿入
- 28. C#SQLデータベースにデータセットを挿入する
- 29. そのデータを挿入しながら
- 30. データの挿入
デルファイのバージョンを指定する必要があります。 –
@mjnいいえ、私はループなしでこれが欲しいです。 – Ishanka
@UweRaabe Delphi 10 Seattle – Ishanka