Çok Yakında Yeni Bir Arayüzle karşınızdayız! http://yeni.delphican.com/

Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Sqldeki Tabloyu Access'e kopyalama
#1
Merhaba arkadaşlar, 
Ağ üzerinde Serverdeki Sql veri tabanımdaki bir tabloyu, bilgisayarın localindeki access veri tabanınına kopyalamak istiyorum.

select * into DBADI.mdb.Tablo2 from DBADI.mdb.Tablo1

Bu şekilde access içindeki Tablo1'i Tablo2 olarak kopyalabiliyor.
Sqldekini Access'e nasıl kopyalabilirim?
Cevapla
#2
Selamlar

MSSQL Server üzerindeki tablo verilerini dışarıya SQL olarak aktarabilirsin. Daha sonra oluşan bu SQL dosyasını, ACCESS veri tabanına insert edersin. En kolay ve güvenilir yol olarak bunu kullanmanı tavsiye ederim.
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
Cevapla
#3
Kod ile yapmam gerek. Nedeni ise belli aralıklarla iki dbyi sorgulayıp yeni bilgileri sqlden access e çekmek istiyorum.
Cevapla
#4
@gonulali bulunduğum makinede access yok
access içerisinde Sql'e link kurduğunda bu bir tablo olarak görünebiliyordu bildiğim
bu durumda istediğini kod olarakta yapmam mümkün diye düşünüyorum
Bu dünyada kendine sakladığın bilgi ahirette işine yaramaz. 
Cevapla
#5
Access veya sql'e hiç elle müdahale etmeden, yaptığım  program çalışır vaziyetteyken  belli aralıklarla otomatik çalıştıracak bu kodu. Yani herhangibir manuel tetikleme vs yapmayacağım.  Direk programın içinde çalıştırmak istiyorum bu kodu.
Cevapla
#6
Selamlar
O halde şöyle bir yönteme başvuralım istersen. ilk yapman gereken şey, ilgili tablona bir alan eklemek olsun. bu alana örneğin aktarim adını verdin ve değerini de 0 olarak kaydettin. Her yeni veri eklediğinde bu alan değerei 0 olarak kaydedilecek içeriye. Sonrasında bir timer koyalım ve bu timera her 1 saatte bu işi yapması için gereken interval değerini tanımlayalım. Daha sonrasında, timer içerisine ilk olarak, MS SQL veri tabanındaki tablondan aktarim alanına bakarak, buradaki aktarım = 0 olanları select ile bir temp tabloya alalım. Sonrasında, ACCESS veritabanına connection sağlayıp, temp tablodaki verileri insert edelim. İnsert işlemi bittikten sonra ise, hagi verileri eklediğini belirlemek amacı ile, MS SQL tablosundaki verilerine işaret koyalım. Bu şekilde aynı verileri tekrar tekrar aktarmanı önlemiş olacaksın.
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
Cevapla
#7
(24-07-2019, Saat: 15:51)wiseman Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Selamlar
O halde şöyle bir yönteme başvuralım istersen. ilk yapman gereken şey, ilgili tablona bir alan eklemek olsun. bu alana örneğin aktarim adını verdin ve değerini de 0 olarak kaydettin. Her yeni veri eklediğinde bu alan değerei 0 olarak kaydedilecek içeriye. Sonrasında bir timer koyalım ve bu timera her 1 saatte bu işi yapması için gereken interval değerini tanımlayalım. Daha sonrasında, timer içerisine ilk olarak, MS SQL veri tabanındaki tablondan aktarim alanına bakarak, buradaki aktarım = 0 olanları select ile bir temp tabloya alalım. Sonrasında, ACCESS veritabanına connection sağlayıp, temp tablodaki verileri insert edelim. İnsert işlemi bittikten sonra ise, hagi verileri eklediğini belirlemek amacı ile, MS SQL tablosundaki verilerine işaret koyalım. Bu şekilde aynı verileri tekrar tekrar aktarmanı önlemiş olacaksın.

şöyle bir sorun çıkabilir.
0 olanlar temp tabloya aktardıktan sonra transfer işlemleri yapılırken tabloya yeni kayıt eklenirse 
bu kayıtlar aktarılmadığı halde ek alan 0 olduğu için bunlar aktarılmadan, aktarıldı işareti konulacak
Cevapla
#8
(24-07-2019, Saat: 16:17)meko Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
(24-07-2019, Saat: 15:51)wiseman Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Selamlar
O halde şöyle bir yönteme başvuralım istersen. ilk yapman gereken şey, ilgili tablona bir alan eklemek olsun. bu alana örneğin aktarim adını verdin ve değerini de 0 olarak kaydettin. Her yeni veri eklediğinde bu alan değerei 0 olarak kaydedilecek içeriye. Sonrasında bir timer koyalım ve bu timera her 1 saatte bu işi yapması için gereken interval değerini tanımlayalım. Daha sonrasında, timer içerisine ilk olarak, MS SQL veri tabanındaki tablondan aktarim alanına bakarak, buradaki aktarım = 0 olanları select ile bir temp tabloya alalım. Sonrasında, ACCESS veritabanına connection sağlayıp, temp tablodaki verileri insert edelim. İnsert işlemi bittikten sonra ise, hagi verileri eklediğini belirlemek amacı ile, MS SQL tablosundaki verilerine işaret koyalım. Bu şekilde aynı verileri tekrar tekrar aktarmanı önlemiş olacaksın.

şöyle bir sorun çıkabilir.
0 olanlar temp tabloya aktardıktan sonra transfer işlemleri yapılırken tabloya yeni kayıt eklenirse 
bu kayıtlar aktarılmadığı halde ek alan 0 olduğu için bunlar aktarılmadan, aktarıldı işareti konulacak

Elbetteki, ancak, 1 oalrak işaretleyeceğin alanın ID sine göre işlem yapacağın için, zaten temp tabloda 100 kaydın var ise, orjinal tablodaki 100 kayıdın ID sine göre işaretleyeceksin. Böylelikle sorun kalmayacaktır.
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
Cevapla
#9
(24-07-2019, Saat: 16:22)wiseman Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
(24-07-2019, Saat: 16:17)meko Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.şöyle bir sorun çıkabilir.
0 olanlar temp tabloya aktardıktan sonra transfer işlemleri yapılırken tabloya yeni kayıt eklenirse 
bu kayıtlar aktarılmadığı halde ek alan 0 olduğu için bunlar aktarılmadan, aktarıldı işareti konulacak

Elbetteki, ancak, 1 oalrak işaretleyeceğin alanın ID sine göre işlem yapacağın için, zaten temp tabloda 100 kaydın var ise, orjinal tablodaki 100 kayıdın ID sine göre işaretleyeceksin. Böylelikle sorun kalmayacaktır.

döngü içinde update yapmak yerine
tek sql cümlesi update yapmak daha mantıklı olabilir,
kayıt sayısı 100 değil 1000, 10000 vs. olabilir
Cevapla
#10
Fikirleriniz icin tesekkurler. Ama oyle cok buyuk bir yapi degil. Basit.. Soyleki..
Bir tane database var. O databasenin icinde bir tane tablo var. O tablonun icindede bir id alani ve bir tanede resim alani var. Baska birseh yok. Benim yapmak istedigim ise su.. Bu resimler belli zamanlarda degisecek. Oyuzden ben direk access ve o bilgisayara mudahale etmek yerine ayni program uzerinde birde sql server baglantisi yapip degistirmelerimi sqlde yapip belli zamandada acceste guncellemek istiyorum. Hepsi bu
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Ağdaki Şifreli Paylaşıma Dosya Kopyalama theSinan 15 1.765 18-02-2019, Saat: 10:04
Son Yorum: theSinan
  Web Servis Access Violation ahmet_sinav 6 951 25-09-2018, Saat: 15:48
Son Yorum: ahmet_sinav
Question Access 2016 Mr.Developer 28 3.822 16-07-2018, Saat: 17:10
Son Yorum: ssahinoglu
  cxgrid access violation alicinkilic 4 888 06-07-2018, Saat: 18:21
Son Yorum: narkotik
  DB kopyalama serhat 5 857 06-07-2018, Saat: 11:51
Son Yorum: cinarbil



Konuyu Okuyanlar: 1 Ziyaretçi