Konuyu Oyla:
  • Derecelendirme: 5/5 - 2 oy
  • 1
  • 2
  • 3
  • 4
  • 5
bir db,tablodan başka bir db, tabloya aktarım
#1
Arkadaşlar,

filtreleme yaptığım bir qry den başka bir qry nasıl aktarım yapabilirim ?

aynı vt de şu şekilde yapıyorum

INSERT INTO MESAJLAR (AD_SOYAD, TELEFON, KONU, FIRMA, TARIH, DURUMU)

SELECT AD_SOYAD, TELEFON, KONU, FIRMA, TARIH, DURUMU FROM WEB_GELEN_MESAJLAR  WHERE DURUMU='YENI'

bir tablo başka sunucuda diğer tablo başka sunucuda

Teşekkürler
Cevapla
#2
Hangi veritabanından hangi veritabanına aktarım yapacaksınız?
YouTube Delphi Tips
"Mantıklı adam kendini dünyaya uyarlar; mantıksız adam ise dünyayı kendine uydurmakta inat eder. Bu nedenle, tüm ilerleme o inatçı adama bağlıdır." - George Bernard Shaw
WWW
Cevapla
#3
Hocam x qry den  y qry aktarım yapıcam 

aşağıdaki gibi yaptım ama daha kolayı ve sağlıklıklısı varmı acaba ?

 QRY_WEB_MESAJLAR.Close;
    QRY_WEB_MESAJLAR.SQL.Clear;
    QRY_WEB_MESAJLAR.SQL.Add(' select * FROM iletisimform ');
    QRY_WEB_MESAJLAR.Open;

      QRY_WEB_MESAJLAR.First;
   while not QRY_WEB_MESAJLAR.Eof do
   begin
       QRY_GELEN_MESAJLAR.Append;
       QRY_GELEN_MESAJLARAD_SOYAD.AsString:= QRY_WEB_MESAJLARAdSoyad.Text;
       QRY_GELEN_MESAJLARTELEFON.AsString:= QRY_WEB_MESAJLARTelefon.Text;
       QRY_GELEN_MESAJLARKONU.AsString:= QRY_WEB_MESAJLARkonu.Text;
       QRY_GELEN_MESAJLARFIRMA.AsString:= QRY_WEB_MESAJLARfirma.Text;
       QRY_GELEN_MESAJLARTARIH.AsString:= QRY_WEB_MESAJLARTARIH.Text;
       QRY_GELEN_MESAJLARDURUMU.AsString:= QRY_WEB_MESAJLARDURUMU.Text;
       QRY_GELEN_MESAJLAR.Post;

       QRY_WEB_MESAJLAR.Next;
   end;
       QRY_WEB_MESAJLAR.Close;
       QRY_WEB_MESAJLAR.SQL.Clear;
       QRY_WEB_MESAJLAR.SQL.Add(' DELETE FROM iletisimform ');
       QRY_WEB_MESAJLAR.ExecSQL;
       QRY_WEB_MESAJLAR.close;
end;
Cevapla
#4
"Hangi veritabanından" kastettiğim bir SQL Server'dan SQL Server'a mı, SQL Server'dan MySQL veritabanına mı yoks atam tersine mi? şeklindeydi
YouTube Delphi Tips
"Mantıklı adam kendini dünyaya uyarlar; mantıksız adam ise dünyayı kendine uydurmakta inat eder. Bu nedenle, tüm ilerleme o inatçı adama bağlıdır." - George Bernard Shaw
WWW
Cevapla
#5
Smile mssql
Cevapla
#6
Smile

SQL Server bu işler için harika bir yöntem sunuyor. Linked Server (Bağlantılı Sunucu)

Belli ki bu iş karşınıza çok çıkacak o nedenle teorik düzeyde kendinizi tamamlamalısınız. Bunun için şu makaleyi okumanızı tavsiye ederim;

https://www.yusufisleyen.com/sql-server-...kullanimi/
https://gurcanaynisoy.wordpress.com/2010...kullanimi/
YouTube Delphi Tips
"Mantıklı adam kendini dünyaya uyarlar; mantıksız adam ise dünyayı kendine uydurmakta inat eder. Bu nedenle, tüm ilerleme o inatçı adama bağlıdır." - George Bernard Shaw
WWW
Cevapla
#7
(09-04-2018, Saat: 15:10)uparlayan Adlı Kullanıcıdan Alıntı: Smile

SQL Server bu işler için harika bir yöntem sunuyor. Linked Server (Bağlantılı Sunucu)

Belli ki bu iş karşınıza çok çıkacak o nedenle teorik düzeyde kendinizi tamamlamalısınız. Bunun için şu makaleyi okumanızı tavsiye ederim;

https://www.yusufisleyen.com/sql-server-...kullanimi/
https://gurcanaynisoy.wordpress.com/2010...kullanimi/

Paylaşım için teşekkürler.
Amaç, bilginin de/aklın da zekat'ını vermek.
Cevapla
#8
Çalıştığım kurumda ORACLE'dan SQLServer'a yaptığım Personel ünvan düzeltmeleri için kullandığım servis yapısını örnek olarak vereyim. 


Aynı işlemin OPENROWSET ile olan hali ile LINKED SERVER hallerini vereceğim. Linked Server sizi zorlarsa -ki SYSDBA olarak sunucu tarafında ek işlem ve yetki gerektirir- OPENROWSET işinizi görecektir.

OpenRowset hali
      SQL.Add('UPDATE P');
     SQL.Add('SET');
     SQL.Add('  P.P_Unvan   = PP.UNVAN');
     SQL.Add('FROM  ');
     SQL.Add('ProduksiyonDB.dbo.[PERSONEL] P ');
     SQL.Add('LEFT JOIN                                                                                                  ');
     SQL.Add('( SELECT * FROM OPENROWSET(   ');
     SQL.Add(' ''OraOLEDB.Oracle''          ');
     SQL.Add(' ''msdaora''                  ');
     SQL.Add(',''(DESCRIPTION=(CID=GTU_APP)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=172.99.88.77)(PORT=1521)))(CONNECT_DATA=(SID=arman11)(SERVER=DEDICATED)))''  ');
     SQL.Add(';''loginadim''              ');
     SQL.Add(';''loginpassim'               ');
     SQL.Add(',''select * from "PERSONEL"."PRODUKSIYON_VIEW"'' )) PP ');
     SQL.Add('ON (PP.SICIL_NO = P.P_SicilNo)       ');
     SQL.Add('WHERE 1=1');
     SQL.Add('AND NOT PP.SICIL_NO LIKE ''G%'' ');
     EXECSQL;

Linked Server hali (ORA9 isminde bir tanımı yukarıdaki OpenRowset içeriğindeki şekilde daha önceden tanımlamış olmanız lazım.
      SQL.Add('UPDATE P');
     SQL.Add('SET');
     SQL.Add('  P.P_Unvan   = PP.UNVAN');
     SQL.Add('FROM  ');
     SQL.Add('ProduksiyonDB.dbo.[PERSONEL] P ');
     SQL.Add('LEFT JOIN                                                                                                  ');
     SQL.Add('[ORA9]..PERSONEL.PRODUKSIYON_VIEW PP ');
     SQL.Add('ON (PP.SICIL_NO = P.P_SicilNo)       ');
     SQL.Add('WHERE 1=1');
     SQL.Add('AND NOT PP.SICIL_NO LIKE ''G%'' ');
     EXECSQL;
Saygılarımla
Muharrem ARMAN

guplouajuixjzfm15eqb.gif
Cevapla
#9
@erdogan en kısa yol bildiğin yol derler, şahsen ben de sizin yöntemle yapardım. 5-10 dakikaya biter aktarım zaten.
Bu arada Linked server neymiş acep, bi bakiiim hele Smile
Cevapla
#10
Çok Teşekkür ederim ilgi ve alakanıza.
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  baska programa eklenen formdaki editlerin click eventleri gorunmuyor. sadikacar60 3 817 05-05-2024, Saat: 12:37
Son Yorum: mrmarman
  Exe dosyası başka bilgisayarlarda çalışmıyor sbogatekin 4 1.215 16-01-2024, Saat: 16:38
Son Yorum: RAD Coder
  treeview den popup menuye aktarım shooterman 13 3.158 05-09-2023, Saat: 10:29
Son Yorum: shooterman
  Excel Aktarım OZCANK 2 911 21-08-2023, Saat: 12:57
Son Yorum: frmman
  DBGrid1'deki Verileri Tabloya Aktarma OZCANK 11 6.753 28-09-2022, Saat: 15:49
Son Yorum: OZCANK



Konuyu Okuyanlar: 1 Ziyaretçi