有一個本地FOX應用程序連接到SQL Server數據庫。有一個在數據庫中的觸發器節省樣改變db表:通過SQL服務器觸發器保存贏得用戶名
INSERT INTO dbo.UpdateContract
SELECT 'OLD' RecordType,USER,SYSTEM_USER,@Time, (...)
我正在開發的.NET(C#)相同的應用程序,不知道如何使用相同的觸發保存名稱的用戶誰登錄到我的.NET應用程序(或Windows用戶)。 我可以使用靜態CS像
SqlConnection sqlConn = new SqlConnection("Server=servername;Database=dbname;User Id=dbuser;Password=Pass;");
(但肯定的是,觸發保存此用戶名,而不是應用程序的用戶名) 或者這個CS:
SqlConnection sqlConn = new SqlConnection("Data Source=servername; Initial Catalog=dbname; Integrated Security=SSPI;");
(但在這種情況下,觸發使用服務器機器名稱)
您可以將應用程序用戶名傳遞給該INSERT嗎? – Danyu
SSPI應以「Domain \ User」格式返回用戶。創建與您的應用登錄匹配的SQL登錄。 –
Danyu,你的意思是將應用程序登錄的用戶名傳入sql查詢,而不是編輯觸發器並使用這個傳遞的名字?嗯,它可以工作...對於刪除觸發器可能會有點困難.. – Petr