İnterbase'den Access'a tablo kopyalama

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
yesilce
Üye
Mesajlar: 1
Kayıt: 06 Haz 2005 12:23

İnterbase'den Access'a tablo kopyalama

Mesaj gönderen yesilce »

Daha önceden ve hala kullanılmakta olan İnterbase veritabandan bazı tabloların alınarak access'e kopyalanması gerekiyor.

Visual Basic'de bu işlemi yapan bir program geliştirdim fakat yaklaşık 80000 kaydın İnterbase'den okunup access'e aktarılması 4 dakika sürüyor
. Yazdığım programda benim izlediğim mantık interbase'de yer alan tüm kayıtlar döndü içinde alırken aynı bilgileri access'e aktarmak oluyor, buda çok uzun zaman alıyor ve bilgisayarın kaynaklarını yüksek oranda kullanıyor. Bu kodlar aşağıdaki gibi;
_________________________________________-
do while not rs.eof
baglan.execute("insert into yeniTablo(ad, soyad, tel) values('reşat', 'özsever', '02121112233' )")
rs.movenext
loop
____________________________________

Access veritabanından başka bir access veritabanına tablo aktarmam 1 saniyeden daha az bir zamanda gerçekleşiyor. Bu işlemi;
___________________________________
SELECT ad,soyad,tel
INTO YeniTablo
IN 'C:\dizin\yeniveritabani.mdb'
FROM EskiTablo
___________________________________
biçiminde sql deyimi ile Visula Basic'de yazdığım bir programla yapıyorum.


Kısacası Visual Basic ortamında İnterbase veritabanından Access'e nasıl tablo kopyalayabilirim...

İlginiz için şimdiden teşekkür ederim...
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Mesaj gönderen sadettinpolat »

http://www.delphikingdom.com/asp/articl ... icleID=426

INSERT INTO TableName
SELECT * FROM OPENDATASOURCE(''Microsoft.Jet.OLEDB.4.0'', ''User ID=Admin; Mode=3;Data Source="\\MyComp\c\MyDir\MyFile.mdb";'')
INSERT INTO TableName IN "" [ODBC;DRIVER={SQL SERVER};SERVER=SERVERNAME;DATABASE=mydatabase;UID=SomeName;PWD=]
SELECT * FROM TableName


http://delphi.about.com/od/database/l/aa090903f.htm
procedure TForm1.Button1Click(Sender: TObject);
var sCopy : string;
begin
sCopy := 'SELECT * INTO ["Excel 8.0;Database=' +
Edit1.Text + '"].[SheetAuthors] FROM Authors';

AdoQuery2.SQL.Text:=sCopy;
AdoQuery2.ExecSQL;
end;
burda excel gösterilmiş
sen bunu uygun connectionstring ile değiştirmen gerekir.
"Sevmek, ne zaman vazgececegini bilmektir." dedi, bana.

---
http://sadettinpolat.blogspot.com/
Cevapla