将桌面应用程序更改为基于客户端

时间:2014-11-05 07:05:52

标签: .net sql-server vb.net client-server mdf

我们开发了一个以SQL Server作为后端的VB.NET应用程序。

目前,.mdf文件与所需的其他文件一起部署。

完成应用程序的安装,并从本地系统放置和使用数据库文件(.mdf)。该应用程序在本地系统中运行良好。

现在,用户需要应用程序在多用户系统(服务器和客户端)中运行。我们知道,要在客户端系统中运行应用程序,.mdf应该附加到SQL Server。将.mdf附加到服务器应该以编程方式完成,不应使用SQL Server Management Studio。

如何做到这一点?

  • 操作系统:Windows 7
  • 前端:VB.NET
  • 后端:SQL Server Express实例

2 个答案:

答案 0 :(得分:1)

使用已知方法连接到数据库。 like this

使用适当的参数执行CREATE DATABASE命令。 reference

你的最终代码在C#

中应该是这样的
var conn = new System.Data.SqlClient.SqlConnection();
conn.ConnectionString = ....
conn.Open();
var command = SqlCommand("CREATE DATABASE DBName ON ( FILENAME = '" + @"C:\DBName.mdf" + "' ), ( FILENAME = '" + @"C:\DBName_log.ldf" + "' ) FOR ATTACH", conn);
com.ExecuteScalar();

答案 1 :(得分:0)

请勿将此视为对您的问题的直接回答,但此信息可能对您有所帮助。

见下面的案例。 我需要将数据库AdventureWorks2012附加到服务器,mdf文件保存在位置D:\BI Developments\AdventureWorks2012_Data.mdf

我可以通过以下TSQL来实现此目标。

sp_attach_single_file_db 
@dbname='AdventureWorks2012',
@physname='D:\BI Developments\AdventureWorks2012_Data.mdf'

因此,如果您能够在应用程序中使用类似脚本的SP,则可以添加mdf文件。