繁体   English   中英

sql 2008服务器连接

[英]sql 2008 server connection

嘿有人能告诉我这里有什么问题吗?

SqlConnection sqlConn = new SqlConnection();
sqlConn.ConnectionString = "server=zekyakad-7727\\sqlexpress.master.dbo;database=master;";
sqlConn.Open(); //error line

错误消息:建立与SQL Server的连接时发生与网络相关或特定于实例的错误。 服务器未找到或无法访问。 验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供程序:SQL网络接口,错误:26 - 查找指定的服务器/实例时出错)

可以是任何数量的东西:

  • 连接字符串不正确
  • 运行此计算机的计算机与SQL Server之间没有网络访问权限
  • 有防火墙阻止特定的所需端口
  • SQL Server未运行
  • SQL Server未配置为允许远程连接
  • 您尚未提供任何凭据或设置与Windows Auth的连接
  • 用户没有SQL Server的登录权限

所以:

  • 确保使用正确的连接字符串
  • 确保SQL Server正在运行
  • 检查网络并确保可以连接到SQL Server
  • 配置SQL Server以进行远程连接
  • 确保您提供有效的凭据

更具体一点:

您将连接字符串中的Server设置为:

zekyakad-7727\\sqlexpress.master.dbo

这看起来不像服务器的名称。 这应该是zekyakad-7727

看一下connectionstrings.com ,看看哪些有效的连接字符串应该是什么样的。

检查以下事项。

  1. 确保将数据库引擎配置为接受远程连接•开始>所有程序> SQL Server 2005>配置工具> SQL Server表面区域配置•单击服务和连接的表面区域配置•选择出现问题的实例>数据库引擎>远程连接•启用本地和远程连接•重新启动实例

  2. 检查SQL Server服务帐户•如果您没有将域帐户用作服务帐户(例如,如果您使用的是NETWORK SERVICE),则可能需要先切换它,然后再继续

  3. 如果您使用的是命名SQL Server实例,请确保在ASweb P.NET应用程序的连接字符串中使用该实例名称•通常,指定数据库服务器所需的格式为machinename \\ instancename•还要检查连接字符串

  4. 您可能需要在防火墙上为您正在使用的SQL Server实例和端口创建例外

•开始>运行> Firewall.cpl•单击例外选项卡•添加sqlservr.exe(通常位于C:\\ Program Files(x86)\\ Microsoft SQL Server \\ MSSQL.x \\ MSSQL \\ Binn)和端口(默认为1433)•检查连接字符串

<connectionStrings>
<add name=”SampleConnectionString” connectionString=”Data Source=machinename\in
stancename;Initial Catalog=AdventureWorks;Integrated Security=SSPI;Min  Pool Size=5;Max     Pool Size=60;Connect Timeout=30″ providerName=”System.Data.SqlClient”/>

</connectionStrings>

5.如果您使用的是命名的SQL Server实例,请确保在连接字符串中使用该实例名称

6.检查SQLBrowser; 检查它是否正在运行。 您可能还需要在防火墙中为SQLBrowser创建一个例外。

7.检查您是否已连接到SQL Server。 请注意您用于连接的内容:计算机名称,域名或IP地址? 检查连接时使用此选项。 例如,如果您正在使用myserver•开始>运行> cmd•netstat -ano | findstr 1433•telnet myserver 1433•ping -a myserver

检查哪些端口是返回的IP地址。

替代方法:如果仍然无法建立连接,则可能需要在服务器上创建一个SQL帐户,在相关数据库上创建相应的SQL用户,并在Web应用程序中使用此用户名/密码组合。

我建议您以下列方式使用SqlConnectionStringBuilder ,而不是以这种方式输入连接SqlConnectionStringBuilder 这不容易出错。

SqlConnection dataConnection = new SqlConnection();
SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder();
builder.DataSource = ".\\SQLExpress"; // Your Datasource
builder.InitialCatalog = "Northwind"; // Database Name
builder.IntegratedSecurity = true;
dataConnection.ConnectionString = builder.ConnectionString;
dataConnection.Open();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM