如何使用密码保护* .sdf(sqlCE文件)

时间:2011-04-13 17:17:28

标签: c# sql-server-ce

有没有办法用密码保护* .sdf(sqlCE文件)或实施类似的安全措施?

我试试这个:

if (!File.Exists(SDK))
            {
                    SqlCeEngine engine = new SqlCeEngine("Data Source=" + SDK + "; Case Sensitive=True"); 
                    engine.CreateDatabase();
                   OpenConn();
                    SqlCeCommand CMD = new SqlCeCommand();
                    CMD = Conn.CreateCommand();
                    CMD.CommandText = "Create table MEN(Code int ,Fname nvarchar(50),Lname nvarchar(50))";
                    CMD.ExecuteNonQuery();
                }

在哪里更改密码?

3 个答案:

答案 0 :(得分:2)

由于可以使用SQL CE 2000密码保护:

CREATE DATABASE "secure.sdf" 
DATABASEPASSWORD '<enterStrongPasswordHere>'

更多herehere

答案 1 :(得分:1)

Visual Studio 2010扩展SQL Server Compact Toolbox可用于创建带密码的数据库。设置密码后,将自动处理数据库的加密。唯一的问题是您需要使用扩展名创建一个带密码的新数据库;它无法密码保护现有的.sdf文件。如果您需要保留现有结构:备份数据和/或架构,然后重新应用到新架构。

与大多数安全解决方案一样,分层方法通常是最好的,可以在此处应用。在操作系统级别检查(并更正)文件的加密状态也很重要。您甚至可以通过加密运行时内部的实际.sdf文件来超越。

关于here的好文章。

干杯

答案 2 :(得分:0)

根据您要查找的保护类型,您可以使用密码保护数据库并对其进行加密。

如果您要利用其中任何一个选项,我相信您必须在SQL Server Management Studio中创建数据库,而不是让Visual Studio为您创建一个。请查看以下页面以获取相关说明(页面适用于Sql CE 4,但也适用于其他版本):

Dean Hume - A Simple Guide to SQL Compact 4