Sql server 外部驱动器上的嵌入式数据库

Sql server 外部驱动器上的嵌入式数据库,sql-server,vb.net,Sql Server,Vb.net,在客户机服务器上有一些使用SQL Server数据库的应用程序。不久前,客户机请求将应用程序安装到外部磁盘上,以便提供给其他人。我的问题是我必须将数据库连接到外部磁盘上。是否可以在pendrive上安装sql server数据库以及应用程序?我听说了一些关于SQLCompact的事情。您能告诉我关于这个主题的最新情况吗?我没有使用SQL Compact,但SQL Compact适用于进程内小型轻量级数据库,但与SQL Express相比有一定的局限性,不支持视图、存储过程、远程数据访问等。您可以

在客户机服务器上有一些使用SQL Server数据库的应用程序。不久前,客户机请求将应用程序安装到外部磁盘上,以便提供给其他人。我的问题是我必须将数据库连接到外部磁盘上。是否可以在pendrive上安装sql server数据库以及应用程序?我听说了一些关于SQLCompact的事情。您能告诉我关于这个主题的最新情况吗?

我没有使用SQL Compact,但SQL Compact适用于进程内小型轻量级数据库,但与SQL Express相比有一定的局限性,不支持视图、存储过程、远程数据访问等。您可以在

在最近的一个项目中,我的一个客户有类似的需求,这就是如何使用SQLServerExpress实现的

根据我的配置,我将应用程序和数据库都放在外部磁盘上。数据库被放置在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\u NAME\SQLEXPRESS\u实例
是从
App.Config
配置和获取的,但是
数据库文件_NAME_与_FULL_PATH
是使用路径构造动态生成的(外部驱动器号可能会更改),例如
PATH.Combine(PATH.GetDirectoryName(Application.ExecutablePath),“Database\ABC.MDF”)
等,并插入到数据连接字符串中。因此,每当应用程序运行时,它都会在应用程序可执行路径的数据库子文件夹中搜索ABC.MDF。您可能需要根据需要调整此方法,如application.StartupPath/application.ExecutablePath等

有关
AttachDbFilename
的更多信息和另一个示例,请查看MSDN