2013-08-21 84 views
0

我有一個項目在窗口服務,當我在Onstart()事件中插入以下代碼並手動調試,然後數據庫插入成功,但是當我創建此項目的exe文件並啓動它在任務管理器然後什麼都不做......我的意思是它沒有保存任何東西到數據庫。窗口服務和sqlserver連接

try 
        { 
         SqlConnection cn = new SqlConnection("Data Source=.;Initial Catalog=testing;Integrated Security=True"); 
         SqlDataAdapter adp = new SqlDataAdapter(); 
         cn.Open(); 
         adp.InsertCommand = new SqlCommand("insert into testing1 values(1)", cn); 
         adp.InsertCommand.ExecuteNonQuery(); 
         cn.Close(); 
        } 
        catch { } 

回答

0

由於您的文章的標題顯示「Windows服務」,我假設您的程序作爲服務運行。根據連接字符串,您正在使用集成安全性。檢查它運行的帳戶是否有權登錄數據庫服務器,並且有權執行插入。

如果您的數據庫配置爲允許並配置了一個,您當然也可以更改爲修復數據庫用戶帳戶。

編輯 我也建議,而不是一個空catch()條款,你要打印出/保存到一個日誌文件中的錯誤信息和堆棧跟蹤,以幫助診斷問題。

+0

thanx爲您的答覆...但在這裏我改變了我的連接字符串。 SqlConnection cn = new SqlConnection(「Data Source = .; Initial Catalog = testing; User ID = sa; Password = 123」);但仍然出現錯誤 – user2499974

+0

@ user2499974錯誤消息說什麼? – FrankPl

+0

當我安裝這個項目的exe文件...然後一個messagebox appeard其中包含...用戶名...密碼,符合密碼...當我插入這些數據(sa,123,123)或(sadqimscience_,123,123)那麼它會給出錯誤:「錯誤:窗口服務安裝期間帳戶名稱安全ID之間沒有映射」 – user2499974