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...
İnterbase'den Access'a tablo kopyalama
- sadettinpolat
- Moderator
- Mesajlar: 2131
- Kayıt: 07 Ara 2003 02:51
- Konum: Ankara
- İletişim:
http://www.delphikingdom.com/asp/articl ... icleID=426
http://delphi.about.com/od/database/l/aa090903f.htm
sen bunu uygun connectionstring ile değiştirmen gerekir.
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
burda excel gösterilmiş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;
sen bunu uygun connectionstring ile değiştirmen gerekir.