最近用C#做了一个小项目,C/S构架,构建有数据库,目前就放在本地,和客户端一起。但是有以下考虑:  不把数据库放在本地,想将之放在服务器端。我的想法是用两台PC机,一台模拟客户端,一台模拟服务器,在服务器端放置数据库,然后在客户端连接数据库。
  
   请问:
  (1)客户端PC机该做什么样的设置?在C#工程中添加数据源的时候是否该注意些什么?
  (2)服务器PC机该做什么样的设置?
   服务器PC机只放置数据库,其他别的都没有。现在的想法是,怎么在客户端的PC上连接到服务器端PC的数据库文件,从而在客户端的C#工程中,可以访问并操作数据库表。
   在网上查了一下,说是“远程连接”就可以实现的思路,只要在连接数据库的时候,把连接方式修改一下就可以了,好像是两端的IP地址和端口号一致就行了。只是我不知道具体怎么操作。请求高人指点一二,最好是有详细的步骤或者贴图(如果贴图等操作不方便的话,可以MSN联络:[email protected],或者QQ:1803220843)。  编程语言:C#
  数 据 库:Microsoft SQL Server 2008  多谢各位了!感激不尽!!!
  (之前有发过贴,80分,结果沉了。今天再次发起贴,恳请各位多多赐教~~)

解决方案 »

  1.   

    一般说来,用两台机器创建服务器/数据库服务器连接的方式,可以有两个好处,一是减轻数据库服务器的负担,二是安全.
    楼主的说法上有点问题,你的结构是C/S结构,因此,你放数据库的那台机器是数据库服务器,而用来连接数据库的那台机应该是你的C/S结构的服务器端,而连接到你这台服务器的网络上其他机器,才是客户端.
    建议以如下方式进行连接:
    1.你的服务器(S端)装两个网卡,一个连接网络,另一个,通过HUB(用路由器更佳,小型的路由器也很便宜)连接数据库服务器.连接数据库服务器的网卡的IP可以自己设置,成为一个只有两台机器的小型局域网,
    2.服务器端连接数据库服务器的方式很简单,就像一般的设置就行了.C#里一般也是通过ADO来连接数据库的,服务器在不在本机,实际上都没什么关系,只要你的服务器端应用能找到它就行了.
    3.服务器端与外网的连接可以采用适当的安全性控制,比如防火墙,比如限制IP端口什么的,因为你用C/S结构,客户端访问端口是由你S端程序决定的.
    4.如果你的S端的负载不大,也可以考虑把S端程序放到数据库服务器上,此时可考虑在MSSQL里进行安全控制,一般也能达到安全目的.
      

  2.   


    连接字符串改成这个样子的,行不?Data Source=172.20.47.197,1433;
    Initial Catalog=VehicleManagement;
    Integrated Security=True这里的IP就是放置数据库的PC机的IP。
      

  3.   


    感谢楼主的回答,好专业,多谢!
    只是我暂时不用这么复杂的配置,只用实现:在一台PC机的C#工程里,连接上另外一台PC机上的数据库,并能实现对数据库表的修改等操作就行了。
    再次感谢!
      

  4.   

    只要两台电脑互相可以访问,在B上装数据库然后配置 SQL Server 2005 以允许远程连接,再A上用Ip访问B库,即可。
      

  5.   

    sp_addserver()  10:42:04
    需要解决的问题:1、网络连通,必须保证客户端可以时刻和服务器连接
    2、服务器端数据库远程访问设置好,可以增加访问权限用户,IP等安全性的设置
    3、注意的一点是服务器端的端口要保持连通,不能被占用
    sp_addserver()  10:42:48
    其实建议的方式是把项目,数据库文件等都放在服务器端,然后在客户端直接去访问项目文件就可以
    sp_addserver()  10:43:11
    貌似你的是C/S架构,不是很清楚怎么设置,一般B/S模式都是这样子的
    sp_addserver()  10:46:09
    那这个你可以设置服务器那里的远程访问,保持其他客户端可以访问服务器就OK,在服务器数据库设置访问用户对表的权限,查询、修改、删除等
      

  6.   


    服务器那端没有设置用户名和密码。
    我也没懂,啥时候需要用户名和密码,怎么设置才行。
    是PC机登录用户名、密码?还是数据库用户名、密码?
    如果是前者:服务器端没有设置用户名和密码;
    如果是后者:SSMS里面,用的是windows身份验证,不用用户名和密码。
      

  7.   


    请问:在服务器端,需要进行什么设置么?直接把数据库文件VehicleManagement.mdf放置在服务器PC机上就可以了么?
      

  8.   


    现在就一台PC机,服务器不在我实验室,所以……等我在服务器PC设置了我再回头反馈给你。
    再次感谢你热情的答复!
      

  9.   

    没啥设置,无非是在防火墙开放1433<默认端口>,客户端连接时指定IP即可
      

  10.   


    我把SQL Sever和SQL Browser都设置防火墙例外了。还是不行。
      

  11.   

    问题已经解决。
    感谢众多热心朋友,祝你们工作、学习顺利!
    忠心的感谢!!http://blog.csdn.net/zhangyuehua123/archive/2011/06/19/6555231.aspx