在客户端服务器上有一些使用SQL Server数据库的应用程序。前段时间客户端请求在外部磁盘上安装应用程序给别人。我的问题是以某种方式我必须在外部磁盘上附加数据库。有可能以某种方式在pendrive上安装sql server数据库和应用程序吗?我听说过关于sql compact的一些事情。你能否就这个话题向我提及?
答案 0 :(得分:0)
我没有使用SQL Compact,但SQL Compact适用于进程内,小型,轻量级数据库,但与SQL Express相比具有一定的局限性,不支持视图,存储过程,远程数据访问等。您可以在sql-express-v-localdb-v-sql-compact-edition
找到更多信息在最近的一个项目中,我的一个客户有类似的要求,这是用SQL Server Express实现的。
根据我的配置,我将应用程序和数据库都放在外部磁盘上。数据库放在 Bin 文件夹中名为 Database 的子文件夹中。我将我的连接字符串声明为
Data Source=SERVER_NAME\SQLEXPRESS_INSTANCE;AttachDbFilename=DATABASE_FILE_NAME_WITH_FULL_PATH;Integrated Security=True;Connect Timeout=30;User Instance=True
快速解决方案SERVER_NAME\SQLEXPRESS_INSTANCE
已配置并取自App.Config
,但DATABASE_FILE_NAME_WITH_FULL_PATH
是使用路径构造动态生成的(外部驱动器号可能会更改) Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), "Database\ABC.MDF")
等并插入DataConnection字符串。因此,每当应用程序运行时,它都会在应用程序可执行路径的Database子文件夹中搜索ABC.MDF。您可能需要根据您的要求调整此方法,例如Application.StartupPath / Application.ExecutablePath等。
有关AttachDbFilename
的更多信息和其他示例,请查看MSDN system.data.sqlclient.sqlconnectionstringbuilder.attachdbfilename