Ms Sql - Iki Muhasebe Programı Arasında Veri Aktarımı Problemi
#1
Merhabalar, SQL tarafında yeniyim. İki muhasebe programı arasında veri aktarımı yapmak istiyorum. Query yazdım her şey doğru gibi ancak veriyi aktaracağım zaman verinin aktarılacağı program "FIS_TIP" bulunamadı hatası veriyor. Ne yaptıysam çözemedim. Şimdiden yardımlarınız için teşekkür eder, iyi çalışmalar dilerim.

Visual Basic
  1. SELECT
  2.  
  3.  BSL.FIS_TIP,
  4.  BSL.FIS_NO,
  5.  BSL.TARIH,
  6.  BSL.ACIKLAMA1,
  7.  SATIR.BELGE_TARIH,
  8.  SATIR.BELGE_TUR,
  9.  SATIR.BELGE_NO,
  10.  SATIR.ACIKLAMA,
  11.  SATIR.BORC_MIKTARI,
  12.  SATIR.ALACAK_MIKTARI,
  13.  SATIR.BORC_TUTARI,
  14.  SATIR.ALACAK_TUTARI,
  15.  HESAP.KOD,
  16.  HESAP.HESAP_ADI,
  17.  
  18.  CASE
  19.    WHEN BSL.FIS_TIP = 'DA46BCD3-AC3C-40D1-8485-8EF988E78B56' THEN '1'
  20. WHEN BSL.FIS_TIP = 'F5B9E66D-8EFC-491B-A618-24948F3F83F8' THEN '4'
  21. WHEN BSL.FIS_TIP = '2D606046-EF37-4823-AAE1-6DBFDAF7196F' THEN '4'
  22. WHEN BSL.FIS_TIP = '50DCF09A-C85A-4A43-B8EB-3EDBFF3C5820' THEN '4'
  23. WHEN BSL.FIS_TIP = '5303A215-949E-4C47-80E0-25FED770E0BE' THEN '6'
  24.  END AS fistip,
  25.  
  26.  BSL.FIS_NO as fisno,
  27.  BSL.TARIH as fistarih,
  28.  BSL.ACIKLAMA1 AS fisaciklama,
  29.  SATIR.BELGE_TARIH AS belgetarih,
  30.  
  31.  CASE
  32.    WHEN SATIR.BELGE_TUR = '91DE264F-01CD-4f57-BFA5-782985B47879' THEN '20'
  33.    WHEN SATIR.BELGE_TUR = '4164379E-BC29-4b4d-9FED-995D648C3865' THEN '7'
  34.    WHEN SATIR.BELGE_TUR = 'C2A941C0-078D-43a3-9370-D053D019AB4B' THEN '20'
  35.    WHEN SATIR.BELGE_TUR = '4496E337-A81F-460b-B4BF-72CC11D09060' THEN '414'
  36.    WHEN SATIR.BELGE_TUR = '53352E3F-EBD4-4460-9BA3-2A6CDBF947FB' THEN '416'
  37.    WHEN SATIR.BELGE_TUR = 'BF55F734-F3AD-4820-8F46-94B6D58D6912' THEN '89'
  38.    WHEN SATIR.BELGE_TUR = '492862AE-8EFC-4D07-838D-A50807ABD034' THEN '88'
  39.    WHEN SATIR.BELGE_TUR = 'A76C856F-2456-4589-8765-1CAD45A8EBA1' THEN '97'
  40.    WHEN SATIR.BELGE_TUR = '99D603BF-2FA0-4F78-8956-618820E57FCD' THEN '95'
  41.    WHEN SATIR.BELGE_TUR = '6A7375C9-B771-4A6B-9F42-FDB6D3BC122B' THEN '35'
  42.    WHEN SATIR.BELGE_TUR = 'BA3EF528-8F29-4DB6-981B-55D70AAC1D31' THEN '34'
  43.    WHEN SATIR.BELGE_TUR = '76563DDC-A67A-4A51-A3C5-ED4857858F2E' THEN '96'
  44.    WHEN SATIR.BELGE_TUR = '5AC7F0E2-A18E-4B3C-AD0F-567D44E336B4' THEN '45'
  45.    WHEN SATIR.BELGE_TUR = '2065E605-9609-4DF1-A627-E3A69D5ACE30' THEN '414'
  46.    WHEN SATIR.BELGE_TUR = '4C1EA22F-B0AF-464D-B25D-95C8BA7DDBD2' THEN '414'
  47.    WHEN SATIR.BELGE_TUR = 'D3BF0835-AAFD-4DE5-AAE0-8A84AEEAE4D2' THEN '46'
  48.    WHEN SATIR.BELGE_TUR = '345575AD-4DD5-4FA0-A4C7-3CFDF99D4DD9' THEN '55'
  49.    WHEN SATIR.BELGE_TUR = 'A9A94EE3-E22B-4AE4-B99C-77530FC3913F' THEN '54'
  50.    WHEN SATIR.BELGE_TUR = 'C10C63DE-CEDE-4478-8D9A-3864923376AD' THEN '413'
  51.    WHEN SATIR.BELGE_TUR = 'BE9B528F-C8D1-43FC-B2CB-EA0BC42A8F10' THEN '414'
  52.    WHEN SATIR.BELGE_TUR = 'DE6C2A46-B739-4299-B34E-B858D716D13F' THEN '20'
  53.    WHEN SATIR.BELGE_TUR = '0C7732FF-71E9-46D3-BE88-8D0DAB7CFE64' THEN '20'
  54.    WHEN SATIR.BELGE_TUR = '5D1948B7-3632-40F0-B823-513AEDA1354C' THEN '97'
  55.    WHEN SATIR.BELGE_TUR = 'B74D208A-1D38-4EEF-9E71-032EC58318A2' THEN '20'
  56.    WHEN SATIR.BELGE_TUR = 'CFD6AFD6-B0D2-413F-9414-D870FD7EBFF5' THEN '55'
  57.    WHEN SATIR.BELGE_TUR = '5C57DA80-B8AD-4A8B-9790-05939D2FA9FB' THEN '99'
  58.    WHEN SATIR.BELGE_TUR = '521E3C16-8C9E-4010-8016-7D03623F23CE' THEN '99'
  59.    WHEN SATIR.BELGE_TUR = '3D6837F8-6566-422B-A843-58C01FB0A380' THEN '55'
  60.    WHEN SATIR.BELGE_TUR = 'EB4D5A61-CC40-4C39-9F15-C217D4C90047' THEN '35'
  61.    WHEN SATIR.BELGE_TUR = '455D9B57-BD19-4128-A534-2820BD45388F' THEN '414'
  62.    WHEN SATIR.BELGE_TUR = 'DAB004AF-F05F-48A4-935A-9BD9BF3076D5' THEN '57'
  63.    WHEN SATIR.BELGE_TUR = '58467D4E-79C2-4679-8E67-1B5D85A2B2CC' THEN '34'
  64.    ELSE '414'  -- Varsayılan değer
  65.  END AS belgetipi,
  66.  
  67.  SATIR.BELGE_NO  AS belgeserino,
  68.  SATIR.BELGE_NO AS belgeno,
  69.  SATIR.ACIKLAMA AS aciklama,
  70.  SATIR.BORC_MIKTARI AS miktar,
  71.  SATIR.ALACAK_MIKTARI AS miktar,
  72.  SATIR.BORC_TUTARI AS borctutar,
  73.  SATIR.ALACAK_TUTARI AS alactutar,
  74.  
  75.  REPLACE(REPLACE(CASE WHEN LEN(HESAP.KOD)=3 THEN HESAP.KOD + ' 999'   ELSE HESAP.KOD END,'.',' '),'-',' ') AS hesapkodu_01,
  76.  HESAP.HESAP_ADI AS hesapadi_01
  77.  
  78.  
  79. FROM
  80.    [dbo].[F0001_2024_T_BIL_FIS_BSL] AS BSL
  81. INNER JOIN
  82.    [dbo].[F0001_2024_T_BIL_FIS_SATIR] AS SATIR ON BSL.ID = SATIR.FIS_ID
  83. INNER JOIN
  84.    [dbo].[F0001_2024_T_BIL_HESAP_PLAN] AS HESAP ON SATIR.HESAP_KODU = HESAP.ID;





  Alıntı
Bu mesajı beğenenler:
#2
bu sorguda hiç bir sorun yok tabloda  FIS_TIP alanı yok yada  ismi yanlış yazdın 



  Alıntı
Bu mesajı beğenenler:
#3
(04-12-2024, 10:28)hedefkaya demiş ki: bu sorguda hiç bir sorun yok tabloda  FIS_TIP alanı yok yada  ismi yanlış yazdın 

Üstad, aşağıdaki resimde de görüldüğü üzere bir problem gözükmüyor.

[Resim: png6.webp]



  Alıntı
Bu mesajı beğenenler:
#4
AS fistip    bu şekilde verdiğin isimler yanlış orjinal   tablodaki  ile aynı isimde olması lazım  
hepsini düzeltmen lazım 

yada kullandığın porgramda  özelik varsa  FIS_TIP ile fistip  alanlarını eşitlemen lazım       



  Alıntı
Bu mesajı beğenenler:
#5
(04-12-2024, 13:12)hedefkaya demiş ki: AS fistip    bu şekilde verdiğin isimler yanlış orjinal   tablodaki  ile aynı isimde olması lazım  
hepsini düzeltmen lazım 

yada kullandığın porgramda  özelik varsa  FIS_TIP ile fistip  alanlarını eşitlemen lazım       

Aktarım yapılacak veritabanındaki sütun ismi zaten fistip hocam. Aktarım yapacağım programın yazılımcıları başka programlardan aktarım için bazı örnek Queryler hazırlamışlar. Aralarında benim kullanmış olduğum yazılım olmadığından ben kendim hazırlamaya çalışıyorum. Aşağıda bir örneği mevcut.

Visual Basic
  1. SELECT
  2.  Fistar as fistarih
  3. ,Fisno as fisno
  4. ,MUHASEBE_FISLERI.Aciklama AS aciklama
  5. ,REPLACE(REPLACE(CASE WHEN LEN(Gmkod)=3 THEN Gmkod + ' 999'   ELSE Gmkod END,'.',' '),'-',' ') AS hesapkodu_01
  6. ,CASE WHEN Belge_Turu='8' THEN '413'ELSE '' END as belgetipi
  7. ,CASE WHEN Fistur = '0' THEN '1' WHEN Fistur = '3' THEN '4' ELSE '4' END fistip
  8. ,pln.Aciklama AS hesapadi_01
  9. ,Evrakno  AS belgeserino
  10. ,Evrakno  AS belgeno
  11. ,Borclu   AS borctutar
  12. ,Alacakli AS alactutar
  13. FROM [dbo].[yevmiye] AS MUHASEBE_FISLERI
  14. LEFT JOIN hesplan AS pln ON MUHASEBE_FISLERI.Gmkod=pln.Kod
  15.  
  16. WHERE 1=1
  17. and CONVERT(DATETIME, MUHASEBE_FISLERI.fistar, 103) >= CONVERT(DATETIME,  Orka_Param_BaslangicTarihi , 103)  
  18. and CONVERT(DATETIME, MUHASEBE_FISLERI.fistar, 103) <  CONVERT(DATETIME,  Orka_Param_BitisTarihi , 103)  
  19. --and MUHASEBE_FISLERI.Evrakno >= 'Orka_Param_BaslangicBelgeNo'
  20. --and MUHASEBE_FISLERI.Evrakno <= 'Orka_Param_BitisBelgeNo'
  21. ORDER BY fistarih


Bu da bir başka programdan veri alınmak için yazılmış Query
Visual Basic
  1. SELECT
  2. mfis_tip as fistip,
  3. mfis_sira as fisno,
  4. mfis_yevmiye_no as fisno,
  5. mfis_aciklama as fisaciklama,
  6. mfis_hes_kod as hesapkodu_01,
  7. mfis_belge_tarihi as belgetarih,
  8. mfis_belge_no as belgeno,
  9. mfis_hes_aciklama as aciklama,
  10. mfis_borc as borctutar,
  11. mfis_alacak as alactutar
  12. FROM PW_Orka_Param_FirmaKodu_Orka_Param_DonemKodu_MFIS





  Alıntı
Bu mesajı beğenenler:
#6
aslında tam olarak anlamadım; 2 farklı muhasebe programından bahsetmişsiniz, dolayısıyla asında 2 farklı veritabanı olmalı. siz Kaynak veritabanındaki kayıtları Hedef veritabanına mı aktaracaksınız?
bu durumda kaynak adları hedef ada çevirmeniz gerek
hedef veritabanında FIS_TIP adında alan var mı?



  Alıntı
Bu mesajı beğenenler:


Foruma Git:


Bu konuyu görüntüleyen kullanıcı(lar): 1 Ziyaretçi