首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Visual中添加Server数据库文件(.mdf)而不安装版本?

问如何在Visual中添加Server数据库文件(.mdf)而不安装版本?
EN

Stack Overflow用户
提问于 2012-02-03 10:45:47
回答 2查看 63.4K关注 0票数 11

在Visual 2010项目中添加.mdf文件( Server数据库)时出错

到Server数据库文件(.mdf)的.mdf连接要求在本地计算机上安装和运行SQLServer2005Express或SQLServer2008Express

我不想安装( 2005 /2008),因为我已经安装了Server 2005企业版

我正在使用Visual 2010终极版

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-03 11:06:34

这真的很烦人。基本上,在Machine.config中,对于您正在开发的框架的版本,LocalSqlServer有一个条目。

在我的机器上,第4版:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\Machine.config

代码语言:javascript
复制
<add name="LocalSqlServer" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient" />

我发现,如果我将连接字符串的数据源部分更改为指向我的Sql 2005完整服务器实例,那么您提到的错误就消失了。

(类似于框架的其他版本,我也对其进行了修改)

我不记得在看到这些更改之前是否只需要重新启动visual studio或整个机器。

在编辑machine.config文件之前,记得备份它们!

话虽如此,您也没有理由不能将数据库添加到Server本身(如果您有mdf),然后通过视图->服务器资源管理器->数据连接(右单击->添加连接)从Visual连接到数据库--您试过吗?

票数 12
EN

Stack Overflow用户

发布于 2016-05-12 15:51:41

如果不存在,可以使用代码添加

代码语言:javascript
复制
string curFile = @"C:\Dev\Test_data.mdf";
        if (!File.Exists(curFile))
        {
            SqlConnection connection = new SqlConnection(@"server=(localdb)\v11.0");
            using (connection)
            {
                connection.Open();

                string sql = string.Format(@"
                                    CREATE DATABASE
                                        [Test]
                                    ON PRIMARY (
                                       NAME=Test_data,
                                       FILENAME = '{0}\Test_data.mdf'
                                    )
                                    LOG ON (
                                        NAME=Test_log,
                                        FILENAME = '{0}\Test_log.ldf'
                                    )",
                    @"C:\Dev"
                );

                SqlCommand command = new SqlCommand(sql, connection);
                command.ExecuteNonQuery();
            } 
        }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9127359

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档