MVC3创建数据库时遇到的问题

发布时间:2016-7-15 16:31:10

错误提示:无法完成操作。提供的 SqlConnection 未指定初始目录。

在学习MVC3的时候非常顺利,把MvcMusicStore的示例敲了大半,于是想回家自己码个练习一下结果才跑一下就碰到"提供程序未返回 ProviderManifestToken 字符串。"这个错误.然后可以看到网页上返回"error:26 定位指定的服务器/实例时出错".应该是程序连不上数据库,于是就想应该是连接字符串或SQL设置问题.

  然后就发现了,SQL2008没有外围配置管理器.于是乎就先姑且在Sql Server Configuration Manager里面找到Named Pipes 并启动.据说在数据库的"方面"里面有个外围应用配置器里可以配置,但打开后并没有发现有用的配置,就啥也没改啦.

  连接字符串方面就只有实例名需要修改一下,结果问题依旧.

<add name="ApplicationServices"
connectionString="data source=WSM/SHILi;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true"
providerName="System.Data.SqlClient" />

  继续Google后发现在stackoverflow上有人说name要跟数据上下文类名一致,于是就将name改成继承于DbContext的类名.

<add name="MusicEntities"
connectionString="data source=WSM/SHILi;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true"
providerName="System.Data.SqlClient" />

  虽然结果还是报错,但却是其他错误:"此版本的 SQL Server 不支持用户实例登录标志。该连接将关闭",这个好说,把User Instance改成false就没问题了.

  好吧,虽然我以为已经没问题了,结果又报错误:"无法完成操作。提供的 SqlConnection 未指定初始目录。"

  最后以添加一个Initial Catalog告终.

  虽然最后成功的创建了数据库但还是有一个小地方令我不解,就是我在公司里并没有修改name属性,也没有添加Initial Catalog就可以在数据库里新建一个数据库,可到了自己的电脑里却要修改name并指定数据库名称,到底是什么地方的差异造成这样的结果呢?