我正在尝试学习C#然后我遇到了这个障碍。我的Visual Studio 2010不会让我创建一个基于服务的数据库(.mdf文件)。 (添加>新项目>基于服务的数据库)
每次我尝试添加新的.mdf时都会出错。
发生与网络相关或特定于实例的错误 建立与SQL服务器的连接。找不到服务器 或者无法访问。验证实例名称是否正确 SQL Server配置为允许远程连接。 (服务提供商: SQL网络接口,错误:26 - 查找服务器/实例时出错 指定)
我可以毫无问题地创建本地数据库(添加>新项目>本地数据库),但我无法创建.mdf
我在Windows 7 64位操作系统和Visual Studio 2010(旗舰版)上运行。
答案 0 :(得分:1)
基于服务的数据库需要连接到SQL Server实例。它没有内置到Visual Studio中,它是一个单独的应用程序,需要在某个地方运行才能连接到。该错误消息基本上告诉您它无法找到您尝试连接的SQL Server实例。
本地数据库正常工作,因为它保留了应用程序本地的所有内容,并且不需要外部数据库服务器即可运行。
答案 1 :(得分:1)
使用这两种数据库的基本要求:
本地数据库(.sdf
):需要SQL Server Compact。也就是说,您只需要一个额外的DLL,但没有特殊的系统服务。 (如果您了解SQLite:SQL Server Compact在概念上是相同的,只是功能更强大,功能更完善。)
基于服务的数据库(.mdf
& .ldf
日志/日志文件):需要运行SQL Server或SQL Server Express的实例,这是独立的产品(as Tim Copenhaver points out in his answer)。出于开发目的,您通常会在开发计算机上安装其中一种产品。
问题的可能原因:根据您发布的错误消息进行猜测,您没有安装SQL Server或SQL Server Express。但是,需要其中一个产品的实例,以便您可以将数据库“附加”到它。在您真正访问.mdf
数据库之前,必须按顺序执行此操作。
要查看您是否安装了SQL Server,,您可以打开控制面板→管理工具→服务,并查找名为“SQL Server(.\SQLEXPRESS
)”或“SQL Server(YOURCOMPUTERNAME\MSSQLSERVER
)”或类似的系统服务。括号中的名称是计算机上运行的数据库实例的名称。 SQLEXPRESS
是SQL Server Express的默认实例名称,而MSSQLSERVER
是SQL Server完整版的默认实例名称。
如果您没有安装SQL Server ,可以下载例如免费提供SQL Server 2012 Express或SQL Server 2008 R2 Express with SP2。
答案 2 :(得分:0)
你可以尝试
按
检查SqlLocalDBSqllocaldb.exe我
您将看到版本号如(v11.0),否则完成 安装。
按
创建sqldbsqllocaldb c dbname
您将看到“LocalDB instance”dbname“使用版本11.0创建。”
然后启动Db
sqllocaldb s dbname
您将看到“LocalDB instance”dbname“started”
查看已创建的Db信息
sqllocaldb.exe i dbname
现在尝试在c#中创建基于服务的数据库。
答案 3 :(得分:0)
从数据连接节点临时附加数据库文件(.mdf)