sqlserver數(shù)據(jù)庫中某個(gè)表寫了一個(gè)觸發(fā)器: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該觸發(fā)器是數(shù)據(jù)庫添加數(shù)據(jù)時(shí)調(diào)用一個(gè)外部的exe(控制臺(tái)應(yīng)用程序)。傳入?yún)?shù)就是當(dāng)前插入數(shù)據(jù)的id??刂婆_(tái)應(yīng)用程序根絕這個(gè)id去查詢這條插入的數(shù)據(jù)進(jìn)行操作。具體得查詢方式如下:但是,當(dāng)把ID當(dāng)參數(shù)傳入應(yīng)用程序時(shí),直接到 SqlDataReader read = cmd.ExecuteReader(); 這句就會(huì)報(bào)錯(cuò),錯(cuò)誤:Timeout expired.如果按照上面ID的注釋方式傳入(string ID = "151055";),直接在程序中吧參數(shù)寫入進(jìn)行測(cè)試的話,就沒有問題。崩潰了,就是一個(gè)是傳入的,一個(gè)是寫死的,傳入就不行呢?參數(shù)是可以傳進(jìn)去的。
sqlserver查詢,控制臺(tái)應(yīng)用程序
開滿天機(jī)
2018-08-17 10:09:24