我想我的vb.net程序与sqldb是可转让的

我想我的vb.net程序与sqldb是可转让的,vb.net,tsql,sql-server-2005,connection,connection-string,Vb.net,Tsql,Sql Server 2005,Connection,Connection String,我的vb.net程序有问题。它有一个数据库,其SqlConnection字符串为: DbConn = New SqlConnection("Data Source=ACE-DUO;Initial Catalog=db_CVSO;Persist Security Info=True;User ID=sa;Password=pwd") 我为这个vb.net程序做了一个安装程序,但是我的SQL Server连接字符串有问题。因为一旦我在不同的电脑上安装了这个程序。在我的案例中,服务器名称(ACE-D

我的vb.net程序有问题。它有一个数据库,其
SqlConnection
字符串为:

DbConn = New SqlConnection("Data Source=ACE-DUO;Initial Catalog=db_CVSO;Persist Security Info=True;User ID=sa;Password=pwd")
我为这个vb.net程序做了一个安装程序,但是我的SQL Server连接字符串有问题。因为一旦我在不同的电脑上安装了这个程序。在我的案例中,服务器名称(ACE-DUO)发生更改,无法定位数据库本身

我知道如何分离文件并将其附加到vb.net程序。我真正的目标是希望连接字符串根据程序资源的放置位置进行更改


例如,如果程序安装在
C:\program Files\MyDatabase
文件夹中,我希望将其作为连接字符串的一部分,以便在不同的计算机中打开。

如果不需要对数据库进行多个共享访问,可以利用Sql Server 2012的LocalDB功能。 您的连接字符串可以更改为

 DbConn = New SqlConnection("Server=(localdb)\v11.0;Integrated " & _ 
                            "Security=true;AttachDbFileName=C:\Program Files\MyDatabase\db.mdf;"

如果您不需要对数据库进行多次共享访问,您可以利用Sql Server 2012的LocalDB功能。 您的连接字符串可以更改为

 DbConn = New SqlConnection("Server=(localdb)\v11.0;Integrated " & _ 
                            "Security=true;AttachDbFileName=C:\Program Files\MyDatabase\db.mdf;"

哪个版本的SQL Server?
应用程序。ExecutablePath
将为您提供启动应用程序的可执行文件的位置。您可以从中删除可执行文件名,并将其关联到连接字符串中。我正在使用Microsoft SQL Server2005@Pezzzz问题在于服务器名,而不是文件名的附加位置或附加方式。可能与哪个版本的SQL server?
应用程序重复。ExecutablePath
将为您提供该文件的可执行文件的位置启动应用程序。您可以从中删除可执行文件名,并将其关联到连接字符串中。我正在使用Microsoft SQL Server2005@Pezzzz问题是服务器名不是文件名的附加位置或附加方式。可能与我使用以下方法尝试的文件名重复:DbConn=New SqlConnection(“server=(localdb))\v11.0;AttachDbFilename=C:\db_CVSO.mdf;Persist Security Info=True;User ID=sa;Password=pwd;”),但我当前收到了此错误。System.Data.SqlClient.SqlException(0x80131904):建立到SQL server的连接时发生与网络相关或特定于实例的错误。我在努力,如果我能自己解决这个问题。我是这方面的新手,因此如果不能很好地跟进,我很抱歉。我尝试将数据库(mdf文件)放在C:\I想要尝试从该位置访问它。@chloe:
LocalDB
是SQL Server 2012中的一项新功能-它在2005版本中不起作用…开始删除用户ID和密码,使用Integrated Security=true。通常,磁盘C:的根文件夹缺少读/写权限。请尝试在其他位置,如c:\database,并确保具有读/写权限permissions@marc_s对,我现在看到这个评论了。OP需要安装LocalDB位。此时,我不确定所有这些工作是否真的有价值,我尝试了使用以下内容的一个:DbConn=newsqlconnection(“Server=(localdb)\v11.0;AttachDbFilename=C:\db_CVSO.mdf;Persist Security Info=True;User ID=sa;Password=pwd;”),但我目前遇到了这个错误。System.Data.SqlClient.SqlException(0x80131904):建立到SQL server的连接时发生与网络相关或特定于实例的错误。我在努力,如果我能自己解决这个问题。我是这方面的新手,因此如果不能很好地跟进,我很抱歉。我尝试将数据库(mdf文件)放在C:\I想要尝试从该位置访问它。@chloe:
LocalDB
是SQL Server 2012中的一项新功能-它在2005版本中不起作用…开始删除用户ID和密码,使用Integrated Security=true。通常,磁盘C:的根文件夹缺少读/写权限。请尝试在其他位置,如c:\database,并确保具有读/写权限permissions@marc_s对,我现在看到这个评论了。OP需要安装LocalDB位。在这一点上,我不确定所有这些工作是否真的值得