公司经理给我发的一封邮件,叫我这周完成的~
就这一句话,各位大侠有没有什么可以参考的项目,就是使用socket远程操作数据库,我已经做完连接mysql和操作mysql了,但现在的意思就是要做一个操作另外一台计算机上的mysql,大侠们有木有好建议啊,做完这个菜转正呢~不想失业啊.有相关列子的追加,我分都给你socket数据库mysql

解决方案 »

  1.   

    给你提供一个思路吧:
    1、开发一个socket服务端程序,负责接收客户端的xml请求,收到客户端的xml后,解析这个xml(获得节点,比如数据库连接字符串、数据库操作的sql语句等,这些都放到xml节点下,自己定义个xml的结构),然后执行sql语句,返回查询结果为json字符串(也可以是xml,为了节约传输的字节)到客户端。
    2、客户端接收到这个json字符串之后,进行解析(有很多方法,比如参考我的博客 http://blog.csdn.net/chinacsharper/article/details/9246627),将结果显示到你想显示的地方。
      

  2.   

    熟练的话,完成这个模型只要一天时间。
    主要技术点涉及:
    1、socket
    2、c#连接mysql
    3、xml、json的解析
      

  3.   

    额 我现在已经用socket实现2台计算机相连了,而且也做了C#连接数据库的工作。现在的想法是只要控制了。我在上网查查资料,我很不熟练可以说是刚刚接触,所以估计要花挺久的,不过还是谢谢~
      

  4.   

    额 需求就是现在公司要求实现一个socket远程操作数据库的软件,产品通过SOCKET与上位机通讯,然后上位机通过SOCKET再与数据库进行互通。公司给我的需求就是这样的~
      

  5.   

    请简述 上位机,下位机,socket 之间的关系我觉得似乎你说的上位机概念好像比较非主流,一般上位机指的是人机交互的计算机,而下位机指的是和设备通信的计算机
    看你的意思,是 产品->上位机->数据库 ?产品=下位机?
    表述有问题
      

  6.   

    提个醒,一般的数据库,都有远程管理功能,可以通过TCP远程管理数据库,
    其功能不是你自己能完成的。我觉得只要能配置好就行,不要编程的。
      

  7.   


    看你的意思,是 产品->上位机->数据库 ?产品=下位机?
    表述有问题
    其实现在的需求就是要做一个socket的软件来远程控制另外一台计算机来打开操作mysql
      

  8.   


    那我就理解为
    一个socket的软件=socket软件客户端
    另外一台计算机=socket软件服务端
    mysql=mysql服务器那么另外的问题
    socket软件服务端 和 mysql服务器 是在同一台计算机上吗?
    socket软件服务端 和 mysql服务器 是否可以直接通过 mysql 引擎 tcp 1433端口通讯?需求真心不完整
      

  9.   

    对于现在的我而言 Socket都是浮云了
    WCF不错 嗯 WCF真的不错你又不要求什么效率
    只不过是把执行结果拿回来而已 
    WCF又快 还简单  恩恩 貌似版主说用WebService 恩恩WCF包括了WebService的所有功能 
      

  10.   

    哦对了 不是两台电脑操作吗 为什么不用SqlServer可视化客户端直接连接呢
      

  11.   


    那我就理解为
    一个socket的软件=socket软件客户端
    另外一台计算机=socket软件服务端
    mysql=mysql服务器那么另外的问题
    socket软件服务端 和 mysql服务器 是在同一台计算机上吗?
    socket软件服务端 和 mysql服务器 是否可以直接通过 mysql 引擎 tcp 1433端口通讯?需求真心不完整

    你的问题我也想到了,我现在已经做好一台计算机可以连接本地的mysql而且做一些添加删除搜索的操作,计算机连接本地的port=3007.我现在也实现socket了,2台计算机之间的通讯,虽然还不怎么完善,但已经可以发送消息,相当于聊天工具了。2台计算机之间的port=139.我现在先要实现的我的服务器端连接上客户端以后打开客户端本地的mysql然后操作mysql。这就是需求!以后在实现其他的!
      

  12.   

    "服务器端连接上客户端以后打开客户端本地的mysql"尼玛……
      

  13.   

    你的“服务端”发送 “sql” ,交给你的“客户端”,“客户端”连接mysql服务器,执行sql脚本,将结果数据集打包通过socket发送给“服务端”,好么?可以么?
      

  14.   

    意思就是客户端不能直接连接数据库,要通过一个中间层一数据库打交道。这个在c#最好的模型就是WCF了,当然你一定要用你自己的Socket的方式来搞也不是不行,道理也是一样的,就是在客户端提交你的操作数据库需求,比如执行SQL、存储过程等,然后,将这个请求通过Socket发送到服务端,服务端解析后执行请求,并将数据库返回结果再序列化后通过Socket返回给客户端,客户端接收后反序列化生成对像就是你操作数据库的结果了。流程就是这样子。
      

  15.   

    下位机通过socket把byte[] 上传到上位机上位机接受到byte[] 进行解析 提取想要的数据然后 上位机连接数据库 实现增删改查..我是这么干的..
      

  16.   

    如果上位机不能直接操作数据库的话  那么 在把从下位机接收到的数据byte[] 在通过通过socket转发给 另外一个专门做处理的服务这个服务接收到的数据 跟下位机发给上位机的数据是一样的然后 处理...
      

  17.   

    额 我在找资料 试着看看socket能不能处理
      

  18.   

    额 现在需求是要一台计算机上去控制另外一台计算机上的mysql不管使用什么方法