各位大哥帮帮忙啊,我在使用VC做一个软件,客户要求能够通过广域网连接数据库,小弟在这一块不懂,请求各位大哥帮帮忙?指点一下,我该怎么实现,最好发点代码,谢谢了

解决方案 »

  1.   


    CString strSRC; //数据库地址
    strSRC="Driver=SQL Server;Server=";
    strSRC+=this->DBDlg.GetDBAddr();
    strSRC+=";Database=";
    strSRC+=this->DBDlg.GetDBName();
    strSRC+=";UID=";
    strSRC+=this->DBDlg.GetUserName();
    strSRC+=";PWD=";
    strSRC+=this->DBDlg.GetPassword();你可以讲Server = 192.168.1.1  改成一个外网IP就可以了   
    前提是服务端一定要打开1433端口 
      

  2.   

    上面的代码是我以前工程的代码  都经过测试的
    换成易懂的形式
    CString strSRC;  
    strSRC.Format("Driver=SQL Server;Server=%s;Database=%s;UID=%s;PWD=%s" , "192.168.1.1","Student"/*数据库名称*/,"sa"/*用户名*/ , "");
      

  3.   

    如SQL, 是否是广域网没区别, 连接字符串正确就没问题Provider=SQLOLEDB.1;User ID=sa;Password=sa;Persist Security Info=True;Initial Catalog=YourTable;Network Address=12.241.24.18
      

  4.   

    广域网连接和局域网连接区别不大,只要能够访问到IP地址和端口号。主要问题在于部署。数据库服务器一般是很难直接挂到外网上的。如果必须如此,那么只怕直接用IP连接的愿望无法实现。或许需要在数据库服务器所在的网络中再部署一个中间程序来调度了。
      

  5.   

    如果有静态 IP 地址的话,架设 WEB SERVER ,VC 直接用 HTTP 存取数据。
      

  6.   

    同意楼上的,可以用HTTP连接进行存取
      

  7.   

    不管外网内网,只要知道IP地址就可以通过ADO进行连接。但外网的要考虑的情况相对要多一些。首先要知道外网IP,固定IP可以直接取、动态IP需要花生壳等动态域名解析软件来获得IP(程序通过域名连接服务器).
    其次要开端口,sql server的默认端口是1433.