小弟最近要写一个VC#程序,数据库服务端放在远程的服务器上面。由于我对vc#连接远端数据库不熟悉,所以我先在本地局域网上面的一台电脑上面安装了SQL SERVER2000做一下远端访问的测试,该机IP为192.168.1.121.我写了下面的两个函数,第二个函数ExecSQL()一直发生SqlException异常,请问大家这是什么原因引起的啊?还有我把192.168.1.121的防火墙杀毒软件都关了,还是这样。还有我把该代码拷贝到192.168.1.121机子上面运行却没有发生异常,请大家帮帮我是什么原因引起的,帮我解答一下,万分感谢。
public SqlConnection Conn()
        {
           
            string con_str="Data Source=192.168.1.121;Initial Catalog=Repair;uid=sa;pwd=;";/*密码为空;Repair为数据库名字*/
//换下面这样写也会发生异常:string con_str="Data Source=192.168.1.121;Initial Catalog=Repair;Integrated Security=SSPI;";
            try
            {
                SqlConnection conn = new SqlConnection(con_str);              
                return conn;
            }
            catch(Exception ex)
            {
                throw ex;
            }
        }
public int ExecSQL()
        {
            Program p = new Program();//Program为类的名字,
            SqlConnection conn = new SqlConnection();
            try
            {           
            conn=p.Conn();
                conn.Open();
            string sql="insert into stu values('sss','sss')";  /*stu表有两个字段,分别为sno,sname,均为char类型,此表只是做测试用而已*/
            SqlCommand sqlCmd = new SqlCommand(sql, conn);            int ret = (int)sqlCmd.ExecuteNonQuery();
            conn.Close();
            return ret;
            }
            catch(Exception ex)
            {
                throw ex;
            }
        }

解决方案 »

  1.   

    你在远端的机器上装个sqlserver,连一下121这个机器看能连上吗
      

  2.   

    2楼的大哥请你说明白一点可以吗?
    我在我的机子可以ping 通121的机子。
      

  3.   

    你可以通过 管理工具 - 数据源ODBC - 添加sqlserver - 填入用户名,密码什么的,然后测试下能不能连通
      

  4.   

    你"本地局域网上面安装了SQL SERVER2000的那台电脑192.168.1.121"有没有打SP4补丁(服务器版),没有就打上,问题解决
      

  5.   

    "server=192.168.1.121;database=Repair;uid=sa;pwd=/"
    你换这句话试试。。
      

  6.   

    感觉192.168.1.121 这应该是服务器的。。所以要用server
    Repair 这个才能用database 具体的你可以实验一下。。
      

  7.   

    9楼的大哥,我安照你的改了还是不行啊!
    我也按照上面的说了把密码设上,但是还是不行啊!
    我已经打了SP4补丁,也关闭了防火墙和杀毒软件。
    在网络服务器那里也有TCP/IP协议。我搜索了一下
    网上有人说1433端口如果不能被监听(Listening)也不
    可以连接上。我用netstat -an查看了一下1433端口真的是没有
    被监听,请问怎么样才能让1433端口被监听啊!