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 03:52

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

Mesaj gönderen brs »

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: 254
Kayıt: 16 Şub 2004 06:12
Konum: istanbul

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

Mesaj gönderen denizfatihi »

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: 4740
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

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

Mesaj gönderen mrmarman »

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 ....Resim
yusuf simsek
Üye
Mesajlar: 330
Kayıt: 09 Mar 2004 11:18
Konum: Konya
İletişim:

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

Mesaj gönderen yusuf simsek »

@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...
Bugün bir kez daha,
Hiç Birşey Bilmediğimi Öğrendim!!!

https://extrayazilim.com
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4740
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

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

Mesaj gönderen mrmarman »

Kardeşim benim, teşekkürler. :)
İzmir'e saygı ve sevgilerimle.
Resim
Resim ....Resim
denizfatihi
Üye
Mesajlar: 254
Kayıt: 16 Şub 2004 06:12
Konum: istanbul

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

Mesaj gönderen denizfatihi »

Hocam yine müthişsiniz, tam asabet, çok teşekkür ederim. :)
denizfatihi
Üye
Mesajlar: 254
Kayıt: 16 Şub 2004 06:12
Konum: istanbul

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

Mesaj gönderen denizfatihi »

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
Kıdemli Üye
Mesajlar: 1650
Kayıt: 12 Eyl 2015 12:45

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

Mesaj gönderen ertank »

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: 254
Kayıt: 16 Şub 2004 06:12
Konum: istanbul

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

Mesaj gönderen denizfatihi »

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