insert into farklı veritabanları aktarımı

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Kullanıcı avatarı
brs
Üye
Mesajlar: 626
Kayıt: 04 Eki 2012 02:52

Re: insert into farklı veritabanları aktarımı

Mesaj gönderen brs » 05 Ağu 2015 01:41

Biraz geç oldu site içinde arama yaparken tesadüfen gördüm, Star
İşi bilen yardım eder, az bilen akıl verir, bilmeyen eleştirir, yapamayan ise çamur atar...

denizfatihi
Üye
Mesajlar: 221
Kayıt: 16 Şub 2004 06:12
Konum: istanbul

Re: insert into farklı veritabanları aktarımı

Mesaj gönderen denizfatihi » 06 Kas 2015 01:35

Merhaba,

Farklı database'ten veri çekimi esnasında 'not in' kullanmaz isem sorun yok yanlız kullanınca aşağıdaki hatayı alıyorum, kodun tamamı da en alt taraftaki gibi, teşekkür ederim.

Kod: Tümünü seç

Msg 468, Level 16, State 9, Line 1
Cannot resolve the collation conflict between "Turkish_CI_AS" and "Turkish_CS_AS" in the equal to operation.

Kod: Tümünü seç

INSERT INTO YEVM (GMKOD, BORC, ALACAK, BAK, REF)

SELECT M.GMKOD, SUM(COALESCE(M.Borclu, 0)) AS BORCLU, SUM(COALESCE(M.Alacakli, 0)) AS ALACAKLI,
SUM(COALESCE(M.Borclu, 0))- SUM(COALESCE(M.Alacakli, 0)) AS BAKIYE,
convert(varchar,M.GMKOD) AS REF

FROM [GRUP TİCARET LTD.ŞTİ_2015].[dbo].[yevmiye] M
WHERE GMKOD LIKE ('120%') 
AND convert(varchar,M.GMKOD) NOT IN (SELECT Y.REF FROM [ESLESTIRME].[dbo].[YEVM] Y )
group by M.GMKOD
HAVING SUM(COALESCE(M.Borclu, 0)) > SUM(COALESCE(M.Alacakli, 0)) 

Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4717
Kayıt: 09 Ara 2003 08:13
Konum: Ankara
İletişim:

Re: insert into farklı veritabanları aktarımı

Mesaj gönderen mrmarman » 06 Kas 2015 01:46

Hatanın bildirildiği

Kod: Tümünü seç

AND convert(varchar,M.GMKOD) NOT IN (SELECT Y.REF FROM [ESLESTIRME].[dbo].[YEVM] Y )
satırındakini

Kod: Tümünü seç

SELECT Y.REF FROM 
yerine

Kod: Tümünü seç

SELECT Y.REF COLLATE Turkish_CI_AS FROM
şeklinde dener misin ? Olmadı Turkish_CS_AS olanını...
Resim Resim

yusuf simsek
Üye
Mesajlar: 226
Kayıt: 09 Mar 2004 11:18
Konum: izmir
İletişim:

Re: insert into farklı veritabanları aktarımı

Mesaj gönderen yusuf simsek » 06 Kas 2015 01:52

@mrmarman hocam... Düne kadar ben de TV kanalında olduğunuzu bilmiyordum... Formda ki cevaplarını da ( halen ) büyük bir dikkat ve zevkle okuyor ve ULUSLARARASI BİR YAZILIM FİRMASINDA ÜST DÜZEY YÖNETİCİ olmalı diyordum...
azmet, iste ve çalış...

sonuç ne olursa olsun vazgeçme...

http://www.extrayazilim.com

Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4717
Kayıt: 09 Ara 2003 08:13
Konum: Ankara
İletişim:

Re: insert into farklı veritabanları aktarımı

Mesaj gönderen mrmarman » 06 Kas 2015 01:56

Kardeşim benim, teşekkürler. :)
İzmir'e saygı ve sevgilerimle.
Resim Resim

denizfatihi
Üye
Mesajlar: 221
Kayıt: 16 Şub 2004 06:12
Konum: istanbul

Re: insert into farklı veritabanları aktarımı

Mesaj gönderen denizfatihi » 06 Kas 2015 01:58

Hocam yine müthişsiniz, tam asabet, çok teşekkür ederim. :)

denizfatihi
Üye
Mesajlar: 221
Kayıt: 16 Şub 2004 06:12
Konum: istanbul

Re: insert into farklı veritabanları aktarımı

Mesaj gönderen denizfatihi » 16 Oca 2018 06:57

Merhaba,

Tekrar yeni bir başlık açmamak için aynı zamanda konunun devamı gibi olduğundan buraya yazıyorum.

Benim sorum aynı ağ üzerinde 2 farklı server arasında sorgu ile veri aktarımı nasıl olur.

Kod: Tümünü seç

INSERT INTO CK ( REF, CARI, CRK, GMHK, TELEFON, TELEFON2,CEP, EPOSTA, TARIH,YETKILI,ACIKLAMA, KOD1, AKTIF )

SELECT REF,STA,CRK,GMHK, AKTEL+' '+ TEL, AKTEL2+' '+ TEL2 ,
CEPALAN+' '+CEP , EPOSTA, '',YETKILI,'','',''   

FROM [192.168.0.35\ZRV2008].[MEDYA2017T].[dbo].[CARIGEN]


ertank
Üye
Mesajlar: 1166
Kayıt: 11 Eyl 2015 11:45

Re: insert into farklı veritabanları aktarımı

Mesaj gönderen ertank » 16 Oca 2018 11:45

Merhaba,
SQL komutunu çalıştırdığınız bilgisayarın Host dosyasına aşağıdaki gibi bir satır ekledikten sonra

Kod: Tümünü seç

192.168.0.35 zrv2008server
aşağıdaki ifadeyi

Kod: Tümünü seç

FROM [192.168.0.35\ZRV2008].[MEDYA2017T].[dbo].[CARIGEN]
şu şekilde değiştirerek deneyebilir misiniz?

Kod: Tümünü seç

FROM [zrv2008server].[MEDYA2017T].[dbo].[CARIGEN]
Eğer sunucuya ulaşamaz iseniz iki server arasında "linked database" oluşturmanız gerekecektir. Bununla ilgili aşağıdaki dökümandan faydalanmanız mümkün
https://www.microsoft.com/en-us/downloa ... x?id=51958
Özetle aşağıdaki komutu SQL komutunu çalıştıracağınız sistemde çalıştırmalısınız:

Kod: Tümünü seç

EXEC sp_addlinkedserver [zrv2008server];
GO
USE tempdb;
GO
CREATE SYNONYM Medya2017T_CARIGEN FOR 
    [zrv2008server].MEDYA2017T.dbo.CARIGEN;
GO
Bundan sonra ilgili tabloya aşağıdaki şekilde erişmeniz mümkün olacaktır

Kod: Tümünü seç

FROM Medya2017T_CARIGEN

denizfatihi
Üye
Mesajlar: 221
Kayıt: 16 Şub 2004 06:12
Konum: istanbul

Re: insert into farklı veritabanları aktarımı

Mesaj gönderen denizfatihi » 22 Oca 2018 12:29

Merhaba,

Öncelikle geç dönüşüm için özür dilerim. Sayın @ertank cevap için teşekkür ederim işimi çözdü,

Herkese kolay gelsin,

Cevapla