2010-08-24 77 views
0

我的VS2010解決方案中有一個sqlce 3.5本地數據庫文件,與EF4模型一起使用。我需要用密碼保護我的數據庫,但不要在app.config中序列化它。我還需要將最大數據庫文件大小設置爲它的最大允許值,即4091 MB 當我嘗試在代碼中設置connectionString時,我無法找到設置「最大數據庫大小= 4091」的方法。SQL CE 3.5&EntityFramework

這裏是我用來建立連接字符串的方法

private string GetConnectionString() { 
     // Specify the provider name, server and database. 
     string providerName = "System.Data.SqlServerCe.3.5"; 
     string dataSource = @"|DataDirectory|\Database\dbFileName.sdf"; 
     string password = "mypassword"; 
     // Initialize the connection string builder for the underlying provider. 
     SqlConnectionStringBuilder sqlBuilder = new SqlConnectionStringBuilder(); 
     // Set the properties for the data source. 
     sqlBuilder.DataSource = dataSource; 
     sqlBuilder.Password = password; 
     // Build the SqlConnection connection string. 
     string providerString = sqlBuilder.ToString(); 

     // Initialize the EntityConnectionStringBuilder. 
     EntityConnectionStringBuilder entityBuilder = new EntityConnectionStringBuilder(); 
     //Set the provider name. 
     entityBuilder.Provider = providerName; 
     // Set the provider-specific connection string. 
     entityBuilder.ProviderConnectionString = providerString; 
     // Set the Metadata location. 
     entityBuilder.Metadata = @"res://*/Models.Model1.csdl|res://*/Models.Model1.ssdl|res://*/Models.Model1.msl"; 
     return entityBuilder.ToString(); 
    } 

沒有人有任何想法,我應該怎麼辦呢? 非常感謝您

任何其他方式獲得:

  • 密碼保護+密碼設置代碼

  • 最大數據庫文件= 4091 MB

回答

0

不要使用SqlConnectionStringBuilder,它是爲SQL Server連接而設計的,不適用於SQL Server Compact。簡單地設置

string providerString = @"Data Source=|DataDirectory|\Database\dbFileName.sdf;Password=abc;Max Database Size=4091"; 
+0

我試過,但我有這個錯誤 關鍵字不支持「| DataDirectory目錄| \數據庫\ dbfileName.sdf;密碼」 – mfaqir 2010-09-02 08:45:05

+0

應該會更好,現在 – ErikEJ 2010-09-03 15:22:40

+0

我收到同樣的錯誤!請幫忙 – Priyanka 2013-06-14 11:05:30

0

我得到相同的錯誤,當我使用DbContext構造函數並嘗試使用不同的連接字符串。如果我使用SqlCeConnection,類似的連接字符串工作正常。這工作得很好

SQL_CONNECTION_STRING = String.Format("password={0};Persist Security Info=True;Data Source={1};Max Database Size=1024", scsb.Password, ccdaSetup.DataSource);