FilemakerTurk, AYS Bilişim ve Beyaz Net tarafından desteklenmektedir.
Filemaker Danışmanınız
AYS Bilişim
Mehmet KAYA
 0532 231 07 27
 0216 318 55 80
 mkaya@aysbilisim.net
						

Filemaker Mikro SQL bağlantısı

+1 oy
94 kez görüntülendi

Değerli arkadaşlarım merhaba

Mikro muhasebe programında kullanılan siparis dosyasına kayıt eklemek istediğimde SQL triger kullandığından hata alıyorum. Odbc ile SQL dosyasını filemaker 19 da açtım. Kayıtları görebiliyorum ama new record ile yeni kayıt açıp alanları girdiğimde 

"ODBC Error: [Microsoft][ODBC SQL Server Driver][SQL Server]
The target table 'MikroDesktop_TEST.dbo.SIPARISLER' of the DML statement cannot have any enabled triggers if the statement contains an OUTPUT clause without INTO clause.
[Microsoft][ODBC SQL Server Driver][SQL Server] Statement(s) could not be prepared."

Mesajı alıyorum. 

Mikro'dan arkadaşlarla görüştüğümde ise Sql de aşağıdaki procedure ile direkt kayıt yapılabildiğini ilettiler. SQL de bende bunu çalıştırdığımda hatasız insert yapabildim. Bunu Filemaker 19 da nasıl  yapabilirim

EXEC sp_SiparisEkle_Artware
    @sip_firmano = 0,
    @sip_subeno = 0,
    @sip_tarih = '2025-11-11',
    @sip_tip = 0,
    @sip_cins = 0,
    @sip_evrakno_seri = 'SIP',
    @sip_evrakno_sira = 1008,
    @sip_satirno = 3,
    @sip_musteri_kod = '120.01.Ö005',
    @sip_stok_kod = 'SARI-118',
    @sip_miktar = 10,
    @sip_b_fiyat = 100.50,
    @sip_aciklama = 'Test siparişi3';

 

4 gün önce SQL kategorisinde Mehmet Dostyılmaz (2,070 puan) tarafından soruldu

2 Cevaplar

+2 oy
 
En İyi Cevap

Herkese selam ederim,

Mehmet bey selamlar,

Test Ortamı

  • İSLETİM SİSTEMİ
    Windows: 10 IoT Enterprise LTSC 64bit
    Sürüm: 21H2
    OS Derlemesi: 19044.6575
  • SUNUCU
  • Microsoft SQL Server 15.00.2000
  • ODBC
    SQL Server - SQLSRV32.DLL - 10.00.19041.6575
  • Veritabanı
    MikroDesktop_TEST

 

Betiği aşağıdaki gibi hazırlarsınız.


Set Error Capture [ Off ]

Execute SQL [ ODBC Data Source: “mikro-64-sqlServer”; SQL Text: INSERT INTO SIPARISLER (
sip_firmano,
sip_subeno,
sip_tarih,
sip_tip,
sip_cins,
sip_evrakno_seri,
sip_evrakno_sira /*Benzersiz Olmalı*/,
sip_satirno /*Sıfır (0) ile başlamalı. Bir sipariş numarasına ait birden fazla satır var ise + 1 olarak artırılmalı*/,
sip_musteri_kod,
sip_stok_kod /*Benzersiz Olmalı*/,
sip_miktar,
sip_b_fiyat,
sip_aciklama,
sip_depono,
sip_harekettipi
)
VALUES ( 0, 0, '2025-12-02', 0, 0, 'SIP', 4, 0, '120.01.T005', 'KLAVYE-001', 800, 3, 'ERCAN DOĞU', 1, 1 ) ]
[ No dialog ]
Set Variable [ $hataOdbc; Value:Get ( LastErrorDetail ) ]
If [ not IsEmpty ( $hataOdbc ) ]
Show Custom Dialog [ Title: "Hata"; Message: "Hata oluştu..."; Default Button: “TAMAM”, Commit: “Yes” ]
Halt Script
End If

 

Yaptığım testlerde herhangi bir sorun çıkmadı. Sizde, 
sip_evrakno_sira /*Benzersiz Olmalı*/, 
sip_satirno /*Sıfır (0) ile başlamalı. Bir sipariş numarasına ait birden fazla satır var ise + 1 olarak artırılmalı*/,
sip_stok_kod /*Benzersiz Olmalı*/,

kurallarına dikkat ederseniz sorun çıkmayacaktır. 

Ben sip_depono ve sip_harekettipi alanlarını da dahil ettim ama siz dilerseniz çıkarabilirsiniz. Yada tabloda olan tüm alanları dahil edebilirsiniz. 

 

Herkese hayırlı günler dilerim.

Saygılarımla

3 gün önce ercanD (76,090 puan) tarafından cevaplandı
2 gün önce Goksel_Gokce tarafından seçilmiş
Ercan Hocam,
İlginize çok teşekkür ederim. Allah razı olsun. Ellerinize sağlık.
+2 oy
Noktalama işaretleri bazen sorun çıkartıyor. Tek tırnak yerine çift tırnak yazmak gerekebiliyor. En azından MySQL de versiyonlar arası özellikle date ve time türü kayıtlarda çok yapıyor bazende test türünde tek tırnağı kaldırmak gerekebiliyor. Mssql de durum nedir bilmiyorum tarih alanlarında çift tırnak deneyin.
3 gün önce Goksel_Gokce (99,050 puan) tarafından cevaplandı
...