你试一下是不是sqlserver的命名管道出了问题,把机器名改为ip看看

解决方案 »

  1.   

    server=对方IP;uid=对方的帐户;pwd=访问对方的密码
      

  2.   

    <add key="ConString" value="server=192.168.0.62;database=exam;uid=sa;password=sa" /> <!--数据库连接 -->
      

  3.   

    你检查数据库A的访问登录方式,是不是设置成了windows集成安全连接
      

  4.   

    你在本机能连吗?<add key="ConString" value="server=本机IP;database=exam;uid=sa;password=sa" />
      

  5.   

    //获取局域网上运行的所有SQL服务器using System;
    using System.Text;
    using System.Windows.Forms;
    using System.Runtime.InteropServices;
    namespace DBGrep
    {
    public class SqlLocator
    {
    [DllImport("odbc32.dll")]
    private static extern short SQLAllocHandle(short hType, IntPtr inputHandle, out IntPtr outputHandle);
    [DllImport("odbc32.dll")]
    private static extern short SQLSetEnvAttr(IntPtr henv, int attribute, IntPtr valuePtr, int strLength);
    [DllImport("odbc32.dll")]
    private static extern short SQLFreeHandle(short hType, IntPtr handle); 
    [DllImport("odbc32.dll",CharSet=CharSet.Ansi)]
    private static extern short SQLBrowseConnect(IntPtr hconn, StringBuilder inString, 
    short inStringLength, StringBuilder outString, short outStringLength,
    out short outLengthNeeded); private const short SQL_HANDLE_ENV = 1;
    private const short SQL_HANDLE_DBC = 2;
    private const int SQL_ATTR_ODBC_VERSION = 200;
    private const int SQL_OV_ODBC3 = 3;
    private const short SQL_SUCCESS = 0;

    private const short SQL_NEED_DATA = 99;
    private const short DEFAULT_RESULT_SIZE = 1024;
    private const string SQL_DRIVER_STR = "DRIVER=SQL SERVER";

    private SqlLocator(){} public static string[] GetServers()
    {
    string[] retval = null;
    string txt = string.Empty;
    IntPtr henv = IntPtr.Zero;
    IntPtr hconn = IntPtr.Zero;
    StringBuilder inString = new StringBuilder(SQL_DRIVER_STR);
    StringBuilder outString = new StringBuilder(DEFAULT_RESULT_SIZE);
    short inStringLength = (short) inString.Length;
    short lenNeeded = 0; try
    {
    if (SQL_SUCCESS == SQLAllocHandle(SQL_HANDLE_ENV, henv, out henv))
    {
    if (SQL_SUCCESS == SQLSetEnvAttr(henv,SQL_ATTR_ODBC_VERSION,(IntPtr)SQL_OV_ODBC3,0))
    {
    if (SQL_SUCCESS == SQLAllocHandle(SQL_HANDLE_DBC, henv, out hconn))
    {
    if (SQL_NEED_DATA ==  SQLBrowseConnect(hconn, inString, inStringLength, outString, 
    DEFAULT_RESULT_SIZE, out lenNeeded))
    {
    if (DEFAULT_RESULT_SIZE < lenNeeded)
    {
    outString.Capacity = lenNeeded;
    if (SQL_NEED_DATA != SQLBrowseConnect(hconn, inString, inStringLength, outString, 
    lenNeeded,out lenNeeded))
    {
    throw new ApplicationException("Unabled to aquire SQL Servers from ODBC driver.");
    }
    }
    txt = outString.ToString();
    int start = txt.IndexOf("{") + 1;
    int len = txt.IndexOf("}") - start;
    if ((start > 0) && (len > 0))
    {
    txt = txt.Substring(start,len);
    }
    else
    {
    txt = string.Empty;
    }
    }
    }
    }
    }
    }
    catch (Exception ex)
    {
    //Throw away any error if we are not in debug mode
    #if (DEBUG)
    MessageBox.Show(ex.Message,"Acquire SQL Servier List Error");
    #endif 
    txt = string.Empty;
    }
    finally
    {
    if (hconn != IntPtr.Zero)
    {
    SQLFreeHandle(SQL_HANDLE_DBC,hconn);
    }
    if (henv != IntPtr.Zero)
    {
    SQLFreeHandle(SQL_HANDLE_ENV,hconn);
    }
    }

    if (txt.Length > 0)
    {
    retval = txt.Split(",".ToCharArray());
    } return retval;
    }
    }
    }你可以根据这个类,做一个生成数据库连接字符串的程序。
      

  6.   

    先用SQL Server企业管理器连别人的数据库
    如果连得通的话在程序里也能连通的