2013-07-24 42 views
0

我做的项目在VB(Visual Basic中2010),所以我连接我的项目,数据的基础上具有以下连接字符串中的App.config:AttachDbFilename

<connectionStrings> 
    connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\MY_DATABASE.mdf;Integrated Security=True; Connect Timeout=30" 
    </connectionStrings> 

但是当我发表我的项目visual stdio并在发布到.exe之后运行项目,因为AttachDbFilename为Error,所以项目未运行。

我试图改变**

AttachDbFilename到c:\文件夹\ MY_DATABASE.mdf

**

,但我收到的错误:试图附加一个自动命名的数据库 文件C:\ Folder \ MY_DATABASE.mdf失败。具有相同名称 数据库是否存在,或者指定的文件无法打开,或它位于UNC 莎尔

我能做些什么。

+0

您是否分发了MY_DATABASE.mdf文件?如果是,你在哪个目录中存储它? – Steve

+0

你是什么意思? – mhmad

+0

在你的连接字符串中,你可以对SQLServer的LocalDB版本使用名为MY_DATABASE.mdf的文件,其中存储了所有的表和数据。当然,这个数据库文件应该存在于目标机器中,并且应该存储在| DataDirectory |的位置替代字符串指向。参见[哪里是DataDirectory目录(http://social.msdn.microsoft.com/Forums/sqlserver/en-US/dc31ea59-5718-49b6-9f1f-7039da425296/where-is-datadirectory-) – Steve

回答

1

在您连接字符串中只需添加

'database=<database name> ' 

这可以防止SQL服务器创建的自动命名的数据库。

Sources

实例进一步详细:

Dim myConnection As Sqlconnection = New SqlConnection() 
myConnection.ConnectionString="Server=server\serverinstance;Database=MYDbase;User Id=User1;Password=Pass1;" 

请更改服务器\ Serverinstance到您的服务器的数据/ MDF文件

请更改MyDbase到你的数据库名称/ MDF文件名

将用户名和密码更改为您的用户名和密码。

编辑3:尝试

Server=.\SQLExpress;AttachDbFilename=|DataDirectory|mydbfile.mdf;Database=dbname; Trusted_Connection=Yes; 

如果在这里,这并不帮助通过这个代码是一切的Conections

http://www.connectionstrings.com/

+0

你能给我如约这个请 – mhmad

+0

我没有密码或用户名,使我做什么,所以记下我使用本地数据库不是SQL Server的 – mhmad

+0

离开他们,完全删除用户名密码字段 –

0

连接VB工程与服务的基础数据库

首先添加服务基地数据库

import system.Data.SqlClient 

比的形式写代码加载事件

con=New SqlConnection('Copy Path of the database'); 

数据库查找路径 声明valriable为

Dim con as New SqlDataConnection 
Dim cmd as new SqlCommand 
Dim dr as SqlDataReader 

点击服务基地数据库

比在属性中,您可以找到路径并粘贴b的路径副本('')

相关问题