先确定一下SqlServer是否允许了远程连接,
打开远程连接方法:
开始->所有程序->MS SQL Server2008R2->配置工具->MS SQL Server2008R2外围应用配置器->服务器和连接的外围应用配置器->
Database Engine下远程连接选择"本地连接和远程连接"中同时使用"TCP/IP和name pipes"
Analysis Services下远程连接选择"本地连接和远程连接"
看这个,网络服务配置的问题或者没有启用。
https://www.2cto.com/database/201405/300620.html
在sql server的配置工具中选择允许远程连接
26错误一般三个原因:防火墙限制了1433端口,没有启用远程连接,以及没有启用tcp/ip协议。当然还可能是你ip写错了。
///
/// 获取网络内数据库实例
///
///
public static string[] GetServerInstance()
{
try
{
SqlClientFactory sqlFInstance = SqlClientFactory.Instance;
DataTable dataSources = sqlFInstance.CreateDataSourceEnumerator().GetDataSources();
DataColumn column2 = dataSources.Columns["ServerName"];
DataColumn column = dataSources.Columns["InstanceName"];
//DataColumn column3 = dataSources.Columns["IsClustered"];
////是否集成验证,即Windows身份验证和SQL Server验证
//DataColumn column4 = dataSources.Columns["Version"];
DataRowCollection rows = dataSources.Rows;
string[] array = new string[rows.Count];
for (int i = 0; i < array.Length; i++)
{
string str2 = rows[i][column2] as string;
string str = rows[i][column] as string;
if ((str == null) || (str.Length == 0) || ("MSSQLSERVER" == str))
{
array[i] = str2;
}
else
{
array[i] = str2 + @"\" + str;
}
}
Array.Sort(array);
return array;
}
catch (System.Exception ex)
{
MessageBox.Show("获取网络内数据库服务器和实例出错!" + ex.ToString(), "提示",
MessageBoxButtons.OK, MessageBoxIcon.Information);
return null;
}
}
先检查你的SQL Server配置管理器中,看MSSQLSERVER是否为设为运行状态,还有找到MSSQLSERVER的协议,看TCP/IP是否为已启用。
一般都是这几个问题,不是配置错了就是连接字符串没写对,好好检查下连接字符串。
检查SQL Server配置管理器,看看服务起没起来