.net 将桌面应用程序更改为基于客户端服务器的应用程序

.net 将桌面应用程序更改为基于客户端服务器的应用程序,.net,sql-server,vb.net,client-server,mdf,.net,Sql Server,Vb.net,Client Server,Mdf,我们开发了一个以SQL Server为后端的VB.NET应用程序 目前,.mdf文件与所需的其他文件一起部署 应用程序安装完毕,数据库文件(.mdf)正在本地系统中放置和使用。该应用程序在本地系统中运行良好 现在,用户需要应用程序在多用户系统(服务器和客户端)中运行。我们知道,要在客户端系统中运行应用程序,应该将.mdf附加到SQL Server。应通过编程方式将.mdf附加到服务器,而不应使用SQL server Management Studio 如何做到这一点 操作系统:Windows7

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

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

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

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

如何做到这一点

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

    • 不要认为这是对你问题的直接回答,但这些信息可能会对你有所帮助

      请参见下面的案例。 我需要将DB
      AdventureWorks2012
      附加到服务器,并且
      mdf
      文件保存在
      D:\BI Developments\AdventureWorks2012\u Data.mdf

      我可以通过下面的
      TSQL
      实现这一点

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

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

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

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

      在C语言中,您的最终代码应该是这样的#


      你是说自动的吗??(或语法上)您有权执行存储过程吗。?。我不知道.net。那就asking@jithin我想是的!!看起来有点帮助。但是连接字符串是什么呢?如何检查数据库是否已经存在?LOL。我使用“数据源=。\SQLExpress;初始目录=主目录;uid=;pwd=;”作为连接字符串。我收到错误“用户登录失败”。无法打开物理文件“D:\VS\CKEY BILL\CKEY BILL\CKEY BILL\bin\Debug\Data\STORAGE.MDF”。操作系统错误5:“5(无法检索此错误的文本。原因:15105)”使用的查询:Query.CommandText=“在上创建数据库BILLSTORAGE(文件名=””&My.Application.Info.DirectoryPath&“\Data\STORAGE.MDF”),(文件名=”&My.Application.Info.DirectoryPath&“\Data\STORAGE\u Log.LDF”)以获取附件”您应该在新问题中提出此问题
      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();