2015-04-01 46 views
0

我需要一些幫助,我在我的項目中的SQL Server CE數據庫和裝載第一種形式,並保持開放,當我打開連接,你知道平常:如何讓我的SQL Server CE連接更快打開?

if (con.State == ConnectionState.Closed) 
{ 
    con.Open(); 
} 

這工作完全正常,但當它打開連接的第一時間太長了。

我的問題是,是不是有一個方法,使開放進程快一點,這樣我的程序的用戶將無法入睡等着它打開?

在此先感謝...

+2

什麼是 「toooooo長」?你能舉一個例子嗎(即17ns,42秒,2小時15分鐘,一天和理髮)?另外,數據庫文件位於何處?在同一臺機器上?網絡共享? – 2015-04-01 20:31:08

+0

它在同一臺機器上,而不是舊的。 – KarinaFx2 2015-04-02 11:52:46

回答

0

一個給定的API可以有一大堆的重載上open命令,但發生的事情是下幾乎相同。除非您切換到完全不同的API或其他數據庫,否則無法「加速」該進程。

你能做的唯一的事情就是通過移動連接到應用程序的生命週期的其他部分,其中用戶可能沒有注意到或者介意延遲開盤,以減輕這個問題。被廣泛使用

一個技巧就是實現這種輕微-的手是做你的初始化而啓動畫面被顯示給用戶。啓動畫面可能會有一些花哨的圖形和文字來「招待」最終用戶。你甚至會看到啓動畫面隨着應用程序在特定時間所做的更新而更新。不是非常有用,但可能對用戶足夠有趣以分散延遲。

我這樣做一次,當用戶抱怨的初始化步驟花費的時間太長。發佈更改後,最終用戶發誓該應用的性能要好得多。它並不是真的。我只是操縱感知。

+0

我想我會用你的建議,給我的閃屏一些生命,謝謝... – KarinaFx2 2015-04-02 11:53:56

0

有許多原因,爲什麼打開SQL緊湊的連接可以是更慢:

1:數據庫已在其他平臺上 創建(例如Windows 7的=> Windows XP中)

2:在RSA文件夾的ACL(訪問控制列表)已損壞

3:無效的互聯網代理配置

我有更多的細節和建議的解決方法在我的博客張貼在這裏:http://erikej.blogspot.dk/2013/08/faq-why-is-opening-my-sql-server.html