![](/img/trans.png)
[英]Downgrading SQL Server Express 2008 to SQL Server Express 2005?
[英]SQL Server 2008 Express one row write
對於SQL Server Express 2008,我有一個最奇怪的問題(至少對我來說這很奇怪)。
問題如下:
在開發計算機上,我使用SQL Server 2008 Enterprise。...我從WCF服務中獲取了一些數據,並將這些數據寫入數據庫(可能很簡單)。在單獨的線程中完成。 但是,無論如何在開發過程中都沒有問題……所有數據都在那里。
然后,我在Release中建立所有內容(連接字符串。\\ SQLEXPRESS,其他設置),然后將其復制到已安裝SQL Server Express的測試計算機上(因為我的應用程序是客戶端應用程序,並且應該可以與Express一起使用)...運行程序...。程序從服務中檢索數據...當我查看數據庫時...我大吃一驚...只寫了一行(從接收到第一行WCF服務)。
我將非常感謝您的幫助...我陷入了僵局。
您是否可以分析sql服務器上實際被調用的內容?
打開sql server profiler,指向sql express實例,並確保拉出RPC:Completed和Sql Statement Completed。 您可以取消選中默認值的其余部分,這也許可以告訴您它在服務器上的調用方式有何不同。
其他想法:命令類型正確嗎?
頂部滑入那里有一些方法嗎?
仔細檢查所有內容(尤其是連接字符串)。 讓您的應用輸出一個日志文件,這可能有助於調試問題。
還要檢查主數據庫,以確保條目不會被無意間寫入開發數據庫。
有沒有機會(我知道這不太可能)
set ROWCOUNT 1
好,有人會發現這個有趣的...
經過徹底的分析,這發生了:
我將將數據寫入數據庫的代碼移到了與GUI相同的線程中運行的數據庫中。...沒問題,它工作正常...它將所有數據寫入數據庫。
我進一步看了一下,然后在網上發表一篇文章,說SQL Express只有一個調度程序(當然還有一個處理器等)……因此,它不支持一次寫入數據庫的多個線程(任何人)其他人對此有更多了解嗎?)...因此,解決方案可能是創建一個隊列,並在到達隊列時向其發送內容,然后將數據一個接一個地寫入數據庫。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.