1Ma*_*yur 3 c# smo sql-server-2008
我正在尝试使用WinForms和C#在SQL Server Express中创建数据库
这就是我想要做的
Microsoft.SqlServer.Management.Smo.Server srv = new Microsoft.SqlServer.Management.Smo.Server srvServer();
int i = srv.Databases.Count;
Run Code Online (Sandbox Code Playgroud)
只是为了在开始时得到计数.但是我得到了错误
建立与SQL Server的连接时发生与网络相关或特定于实例的错误.服务器未找到或无法访问.
验证实例名称是否正确,以及SQL Server是否配置为允许远程连接.
(提供者:命名管道提供程序,错误:40 - 无法打开与SQL Server的连接)这是堆栈跟踪Microsoft.SqlServer.Management.Management.Management.Comct.ConnectionManager.get_ServerVersion()
中的Microsoft.SqlServer.Management.Common.ConnectionManager.Connect()
位于Microsoft.SqlServer.Management.Smo.ExecutionManager.GetServerVersion(),
位于Microsoft.SqlServer.Management.Smo
Microsoft.SqlServer.Management.Smo.AbstractCollectionBase.getContring()
中的Microsoft.SqlServer.Management.Smo.SqlSmoObject.InitializeStringComparer()
位于Microsoft.SqlServer.Management.Smo.SimpleObjectCollectionBase.InitInnerCollection()的.SqlSmoObject.GetDbComparer(Boolean inServer )
在Microsoft.SqlServer.Management.Smo.SmoCollectionBase.get_InternalStorage()
at Microsoft.SqlServer.Management.Smo.SmoCollectionBase.InitializeChildCollection(Boolean refresh)
at Microsoft.SqlServer.Management.Smo.SmoCollectionBase.get_Count()
at CreateDB.CreateDB.btnCreateDB_Click (对象发送者,EventArgs e)在C:\ Users\Guest1\Downloads\CreateDB\CreateDB\CreateDB.cs中:第82行
应该做什么?
如果您使用的是SQL Server Express,并且安装了所有默认设置,那么将调用您的服务器实例.\SQLEXPRESS.您需要在代码中使用它:
using Microsoft.SqlServer.Management.Smo;
Server srv = new Server(".\\SQLExpress");
int i = srv.Databases.Count;
Run Code Online (Sandbox Code Playgroud)
如果您在Server未指定实例名称的情况下创建新实例,则会尝试连接到默认实例(没有名称) - 如果您只安装了SQL Server Express,则不会连接到该实例.
| 归档时间: |
|
| 查看次数: |
2020 次 |
| 最近记录: |