Stack Trace: 
[SqlException: SQL Server does not exist or access denied.]
   System.Data.SqlClient.ConnectionPool.GetConnection(Boolean& isInTransaction) +474
   System.Data.SqlClient.SqlConnectionPoolManager.GetPooledConnection(SqlConnectionString options, Boolean& isInTransaction) +372
   System.Data.SqlClient.SqlConnection.Open() +384
   WestSoftOA.login.AddLoginHistory() in f:\
 错误信息如上
奇怪的是,本机没有f盘。当然,最早的时候这个程序是放在别的机器f盘上拷贝过来的。
连接字符串没问题,sqlserver也能打开。尝试过重新安装framework,也手动注册过iis

解决方案 »

  1.   

    有没有安装数据库访问程序
    MDAC2.6以上版本
      

  2.   


    如何察看呢?sqlserver2000就是装在本机的,应该装的吧?
      

  3.   

    肯定是连接字符串有问题,连接字符串是连到另外的机器还是它本机,再说你们的SqlServer实例可能不一样
      

  4.   

    链接字符串是没问题的连接到本机,用过机器名,ip地址,localhost等,5年前的程序,实施了几十家客户了。今年的客户实施起来,3家里面有两家出问题。一开始出问题的都是2003server,现在2000server也出问题了。我自己觉得不是程序的问题,如果是程序的问题,堆栈不会跟踪到不存在的盘上面去了。无语,sqlserver的sp4也打了,现在尝试着把所有的系统更新都做了,看看有没有效果
      

  5.   

    string strcn=System.Configuration.ConfigurationSettings.AppSettings["ConnectString"];  
    SqlConnection myConnection = new SqlConnection(strcn);
    return myConnection;
    <add key="ConnectString" value="server=192.168.2.3; user id=sa; password=123; Database=Project;"/>server=192.168.2.3  这个用过机器名,ip地址等
    SqlConnection conn = WSConnection.GetConnection();
    string strQuery="sp_Add_Login_History";
    SqlCommand myCommand = new SqlCommand(strQuery, conn);
    myCommand.CommandType = CommandType.StoredProcedure;
    // 给存储过程增加参数,登录账户和用户IP地址
    SqlParameter ParaAccount = new SqlParameter("@Account",SqlDbType.VarChar);
    ParaAccount.Value = txtAccount.Text;
    myCommand.Parameters.Add(ParaAccount);
    SqlParameter ParaIP = new SqlParameter("@IP_Address", SqlDbType.VarChar);
    ParaIP.Value = Request.UserHostAddress;
    myCommand.Parameters.Add(ParaIP);
    // 调用存储过程
    conn.Open();open的地方over了
      

  6.   

    我认为还是连接字符串有问题,你的Server = 192.168.2.3,光有IP,没有实例名,有的机器安装的数据库使用的不是默认的实例,那你得指定实例名,例如SQL Server2005 Advanced Express版本的默认实例名是sqlExpress,但你也可以自己在安装时指定实例名。