none
Sql Veritabanları Arası Tablo kopyalama RRS feed

  • Soru

  • Arkadaşlar iyi akşamlar.  Benim içinden çıkamadığım bir problemim var. yardımcı olacak arkadaşlara şimdiden teşekkürler.

    Normalde aynı veri tabanı üzerinde bulunan bir tabloyu aşağıdaki komut ile yedekleyebiliyorum.

         
    komut.Connection = baglanti
            komut.CommandText = "SELECT * INTO Table2  FROM Table1;"
            baglanti.Open()
            komut.ExecuteNonQuery()
            baglanti.Close()
        

    Fakat Yapmaya çalıştığım şey, ağda bulunan bir sql veritabanından localdaki verikaynagi.mdf adlı veritabanına tablo kopyalamak.

    bunun içinden bir haftadır çıkamadım. Yardımlarınızı Bekliyorum. iyi çalışmalar.

    NOT: Yapmaya Çalıştığımız Uygulama Ortak Ağdaki (Netsisde) Bulanan "SatinAlinanlar" Adlı Tabloyu Locale Kopyalayarak Ağ Bağlantısı Yokken de Kullanmak.



    Ferit Gezgil

    2 Temmuz 2018 Pazartesi 20:27

Yanıtlar

  • Sunucuna  local üzerinden bağlanıp sorgu çekmek  için  Linked Server kullanman gerekir . Linked server kurduktan sonra 

    select * into table_backup from linkedserver.dbname.dbo.table

    Şeklinde tablonu çekebilirsin . 


    Altan Özdemir

    • Yanıt Olarak İşaretleyen Ferit Gezgil 3 Temmuz 2018 Salı 12:19
    3 Temmuz 2018 Salı 06:40

Tüm Yanıtlar

  • Yada En Azından Aşağıdaki Kod Bloğunda Nerede Hata Yaptığımı Söyleyebilirmisiniz 
       Dim baglanti2 As New SqlClient.SqlConnection("Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\ELEC2018.mdf;Integrated Security=True")
        Dim komut2 As New SqlClient.SqlCommand
    
     komut2.Connection = baglanti2
            komut2.CommandText = "SELECT * INTO Fiyatlar 'server.SISTEM.dbo' In  FROM SatinAlinanlar;"
            baglanti2.Open()
            komut2.ExecuteNonQuery()
            baglanti2.Close()
      


    Ferit Gezgil

    3 Temmuz 2018 Salı 06:37
  • Sunucuna  local üzerinden bağlanıp sorgu çekmek  için  Linked Server kullanman gerekir . Linked server kurduktan sonra 

    select * into table_backup from linkedserver.dbname.dbo.table

    Şeklinde tablonu çekebilirsin . 


    Altan Özdemir

    • Yanıt Olarak İşaretleyen Ferit Gezgil 3 Temmuz 2018 Salı 12:19
    3 Temmuz 2018 Salı 06:40
  • cevap için çok teşekkürler . linked server oluşturma işleminde sürekli bu hatayı alıyorum ?

    Ferit Gezgil

    3 Temmuz 2018 Salı 10:10
  • Bu Linki inceleyebilirsin . 

    Altan Özdemir

    3 Temmuz 2018 Salı 10:29
  • LinkServer Yöntemini Kullanmadı, onun yerine satır satır aktarma yapıyorum buda işimi görüyor şimdilik. ama sayende çok faydalı bir yöntem öğrendim teşekkürler.

    Ferit Gezgil

    3 Temmuz 2018 Salı 12:19
  • Rica ederim müsait zaman bulursan eğer Merge İnto 1 ve Merge İnto 2 bu linklere bakmanı öneririm . Bir tablo içerisinde ki verileri tutmanda sana çok daha rahatlık sağlayacaktır. 

    Altan Özdemir

    3 Temmuz 2018 Salı 12:24
  • Rica ederim müsait zaman bulursan eğer Merge İnto 1 ve Merge İnto 2 bu linklere bakmanı öneririm . Bir tablo içerisinde ki verileri tutmanda sana çok daha rahatlık sağlayacaktır. 

    Altan Özdemir

    Merhaba,

    Ferit bey aslında bir tablonun sunucudaki son halini offline olarak tutmak istiyor ve offline yapılan değişikleri sunucuya tekrar göndermek gibi amacı yok. Bu durumda Merge yerine tabloyu boşaltıp, BulkCopy ile veriyi tekrar aktarması Merge'den çok daha basit bir işlem olacaktır.

    Fakat bu tabloda ne var? Kaç tablo için bu iş yapılacak? Belki'de basit bir dosyada saklaması çok daha akılcı olabilir. 

     


    www.cihanyakar.com

    3 Temmuz 2018 Salı 13:48
  • Merhaba , bulkupdate i hiç kullanmadım . Ben tabloyu güncel tutmak isteyeceği için direkt olarak merge önerdim  . Ama daha hızlı olacak ise bu tarz bir durumda bende bulk deneyebilirim . Bilgi için teşekkürler . 

    Altan Özdemir

    3 Temmuz 2018 Salı 14:36
  • Merhaba , bulkupdate i hiç kullanmadım . Ben tabloyu güncel tutmak isteyeceği için direkt olarak merge önerdim  . Ama daha hızlı olacak ise bu tarz bir durumda bende bulk deneyebilirim . Bilgi için teşekkürler . 

    Altan Özdemir

    Daha hızlı olabilir, daha kötü de olabilir... "Duruma" göre değişir. Çok fazla satır varsa ve değişen sadece 1 satır ise Merge tabiki daha hızlı olacaktır. Bilgi bu kadar sığ iken sadece diğer ihtimallere de dikkat çekmek istedim o kadar.


    www.cihanyakar.com

    3 Temmuz 2018 Salı 16:58