sqlserver數據庫中某個表寫了一個觸發器:USE [MNRYMAS]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[tritest]
ON [dbo].[Equip_LAirCompressor]
after insert
AS
BEGIN
declare @newID varchar(50),@Result varchar(100)
select @newID=ID from inserted set @Result = 'D:\Debug\Test_GetData.exe "'+@newID+'"'
EXEC master..xp_cmdshell @Result
SET NOCOUNT ON;
END該觸發器是數據庫添加數據時調用一個外部的exe(控制臺應用程序)。傳入參數就是當前插入數據的id??刂婆_應用程序根絕這個id去查詢這條插入的數據進行操作。具體得查詢方式如下:但是,當把ID當參數傳入應用程序時,直接到 SqlDataReader read = cmd.ExecuteReader(); 這句就會報錯,錯誤:Timeout expired.如果按照上面ID的注釋方式傳入(string ID = "151055";),直接在程序中吧參數寫入進行測試的話,就沒有問題。崩潰了,就是一個是傳入的,一個是寫死的,傳入就不行呢?參數是可以傳進去的。
sqlserver查詢,控制臺應用程序
開滿天機
2018-08-17 10:09:24