2011-08-29 107 views
1

我想追查一個SQL Server CE問題,這意味着我不能在我的電腦的本地硬盤上使用SQL Server CE。很明顯,錯誤信息是一個虛假的文件名,因爲文件名不在260個字符處SQL Server CE:文件解析爲太長的路徑。

該文件解析爲太長的路徑。
最大長度爲260個字符。 [文件名= D:\ db.sdf]

具體是D:驅動器。我有一個非常簡單的EF代碼第一個應用程序,我想使用SQL Server Compact Edition進行單元測試。當我第一次嘗試訪問數據庫時運行該應用程序時,出現上述錯誤。最初我嘗試使用簡單的文件名作爲連接字符串中的數據源:

<add name="MyContext" 
    connectionString="Data Source=db.sdf" 
    providerName="System.Data.SqlServerCe.4.0" /> 

但出現錯誤。

然後我試圖指定根驅動器:

<add name="MyContext" 
    connectionString="Data Source=D:\db.sdf" 
    providerName="System.Data.SqlServerCe.4.0" /> 

,並得到了同樣的錯誤

如果我試圖使用一個網絡驅動器或驅動器C:

<add name="MyContext" 
    connectionString="Data Source=C:\db.sdf" 
    providerName="System.Data.SqlServerCe.4.0" /> 

<add name="MyContext" 
    connectionString="Data Source=\\Server\path\db.sdf" 
    providerName="System.Data.SqlServerCe.4.0" /> 

它工作正常,數據庫已創建並執行操作。

我試着在procmon中進行挖掘,所有我能找到的是一個Explorer.exe進程報告d:驅動器的無效設備。

任何幫助,不勝感激

乾杯

戴夫

+0

更新:我試圖在我的D:驅動器上創建一個visual studio 2010數據庫項目,並得到完全相同的錯誤信息 - 我試圖在C:驅動器上創建,它工作正常。這似乎是我的機器配置的一個問題(儘管我可以在另一臺機器上覆制這個問題,所以不太可能或SqlServerCE實施中的錯誤? –

回答

0

聽起來類似我的問題有點

我使用MS SQL Server Management Studio中快速R2 SP1 ...

當我嘗試在D:驅動器上創建一個CE/sdf數據庫時,它只是眨了眨眼,然後再次詢問db路徑

我設法創建一個d CE DB:通過Visual Studio中(內嵌服務器管理器),但SSMSE仍無法訪問它

如果我這樣做是在C:它工作正常。

奇怪,但我認爲Sql CE只討厭沒有C驅動器?