.net 将桌面应用程序更改为基于客户端服务器的应用程序
我们开发了一个以SQL Server为后端的VB.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
.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();