簡體   English   中英

SQL Server 2008 Express一行寫

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM