30002 SÖZDİZİM HATALARINA İSTİNADEN YAPILMASI GEREKENLER

30002 SÖZDİZİM HATALARINA İSTİNADEN YAPILMASI GEREKENLER

Program üzerinde bu hata alındığında Evrim Yazılımdan destek alınız.

İlgili hatanın alınma sebepleri SQL versiyonundan kaynaklıdır.
Herhangi bir modül içinden Yardım > Data Boyut Kontrol başlığı altından hangi SQL versiyonu kullanıldığı sorgulanabilir.




* Eğer müşterilerimizin SQL Server versiyonları 2012 alt versiyonları ise aşağıdaki scripti çalıştırmanız yeterli olacaktır.
--


if exists (select * from sysobjects where [name] = N'sp_RaiseException' and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop Procedure [sp_RaiseException]
GO
CREATE PROCEDURE sp_RaiseException(@errmsg varchar(255))
AS
BEGIN
  Set NOCOUNT ON
IF (@@TRANCOUNT > 0)
    ROLLBACK TRANSACTION
  RAISERROR 30002 @errmsg
 
 
  --Sql 2012 için
   --BEGIN TRANSACTION
   --Rollback TRANSACTION;
   --THROW 60000,@errmsg,1

END

--

* Müşterilerimizin SQL Server versiyonları 2012 ve yukarı bir versiyon ise aşağıdaki scripti çalıştırmanız yeterli olacaktır.
---

if exists (select * from sysobjects where [name] = N'sp_RaiseException' and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop Procedure [sp_RaiseException]
GO
CREATE PROCEDURE sp_RaiseException(@errmsg varchar(255))
AS
BEGIN
  Set NOCOUNT ON
  --ROLLBACK TRANSACTION
  --RAISERROR 30002 @errmsg
  
  --Sql 2012 için
   BEGIN TRANSACTION
   Rollback TRANSACTION;
   THROW 60000,@errmsg,1
  
END


---

** İşlem yapıldıktan sonra problemin devam etmesi durumunda, yetkili departmana iletilmeli.