2012-06-09 55 views
0

所以現在運行該代碼行,這個問題是關係到這個以前SO question的SQL Server Compact SDF文件 - 問題的SQLException

我有固定的程序中使用的字符串。

爲什麼下面就行了myAdapt.Fill(mySet, "AvailableValues");失敗與錯誤SQLException was Unhandled; A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections

數據庫是該項目爲什麼應該有連接困難的一部分嗎?

  • 我試過在sql文件中運行sql字符串,它運行正常。
  • 我嘗試刪除DGV中的所有列。

    void PopulateGridView() 
    { 
        SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["DatabaseDGVexperiments.Properties.Settings.DatabaseDGVexperimentsConnStg"].ConnectionString); 
        SqlDataAdapter myAdapt = new SqlDataAdapter("SELECT refText FROM helloworld", conn); 
        DataSet mySet = new DataSet(); 
        myAdapt.Fill(mySet, "AvailableValues"); 
        DataTable myTable = mySet.Tables["AvailableValues"]; 
        this.uxExperimentDGV.DataSource = myTable; 
    } 
    

回答

2

你試圖打開一個文件SQLCE(SDF)用的SqlConnection?
我想你應該使用一個和的SqlCeConnection ADO.NET類特定的SQL精簡

using System.Data.SqlServerCe; 
..... 

void PopulateGridView() 
{ 
    SqlCeConnection conn = new SqlCeConnection(ConfigurationManager.ConnectionStrings["DatabaseDGVexperiments.Properties.Settings.DatabaseDGVexperimentsConnStg"].ConnectionString); 
    SqlCeDataAdapter myAdapt = new SqlCeDataAdapter("SELECT refText FROM helloworld", conn); 
    DataSet mySet = new DataSet(); 
    myAdapt.Fill(mySet, "AvailableValues"); 
    DataTable myTable = mySet.Tables["AvailableValues"]; 
    this.uxExperimentDGV.DataSource = myTable; 
} 
+0

,這是否意味着有效一切將像使用完整的SQL Server只屬於適配器和連接對象是相同的稍微不一樣? – whytheq

+0

從ADO.NET的規範中,每一個類如SqlCeConnection,SqlCeCommand,SqlCeDataAdapter等都實現了一個通用接口,因此這些類需要實現相同的方法。功能可能不同,但根據我的經驗,只有很小的變化才能利用特定數據庫的特定功能。一個顯着的區別是SqlCe所缺少的存儲過程的支持(所以沒有'SqlCeCommand.CommandType = CommandType.StoredProcedure')[請參閱參考資料](http://en.wikipedia.org/wiki/SQL_Server_Compact) – Steve

+0

(MS up到他們平常的技巧),這是一個巨大的差異! ...缺乏sproc命令常用的解決方法是什麼? – whytheq

相關問題