问题描述:本人用C#和sqlserver开发了一个单机版管理系统。sqlserver里面有一张表Table1,现在该系统在多台机器(非联网)上使用,每一台机器上都录入了数据,我想把多台机器录入的数据合并到一台机器上去。即一台机器录入完数据后,可以把它保存成一个特殊文件。然后用优盘拷贝到其他机器上,读取文件并合并数据。PS:能不能在一台机器上生成的DataSet,转换成一个文件,拷贝到另外一台机器上读取DataSet???
请高手指点,给出可行的方案就行了,谢谢!

解决方案 »

  1.   

    比如把dataset转换成excel文件,然后在烤到一起。
      

  2.   

    可以将一台机器上的dataset转换成excel
    再在其他机器上还原成dataset
    转换的方法网上有好多
      

  3.   

    DataSet->excel文件,这个不行啊,文件最好是加密的
      

  4.   

    DataSet.WriteXml ()DataSet.ReadXml ()参考MSDN
      

  5.   

    Dat aset可以存成文件
    DataSet.WriteXml ()
      

  6.   

    把录好的数据使用bcp实用程序导出导入数据。
    使用示例(在“开始”-“运行”里输入):
    bcp "MyDB..MyTable" out x:\slqdata\student.txt -c -t "," -m 50 -S SSRV -U "sa" -P "1234" 
    该命令使用的参数说明:
    数据库与表名:MyDB..MyTable
    传输方向:out(从数据库表中导出数据库到文本文件student.txt;要丛文本文件中导数据到表使用in) 
    数据:只限字符(-c)
    字段分割符:逗号(-t",")
    最多错误数:50(-m 50)
    服务名:SSRV(-S SSRV )
    用户名:sa(-U "sa")
    密码:1234(-P "1234")
      

  7.   

    楼主想加密是吧一?那么,把DataSet序列化保存为二进制试试。那边还原。
      

  8.   

    可以考虑用一个Access文件中转,把需要的数据在写入SQl server时同时写入Access
    拷贝Access文件,在写一个简单的导入程序就好了,sql server的工具也可以实现
      

  9.   

    To:weisunding(鼎鼎) 请详细说一下如何保存为二进制,能保存成一个文件,然后在另外一台机器上读取出来吗?怎么读的
      

  10.   

    能不能在一台机器上生成的DataSet,转换成一个文件,拷贝到另外一台机器上读取DataSet???
    我觉得还不如用SQL语句把一台机器上的Sql表直接导进另一台机器的数据库。你又转成DataSet不是麻烦了吗?
      

  11.   

    TO:biggerboy(饮酒买醉) 
    之所以把Dataset转成一个文件,是给用户用的啊。用户不会sql语句,不会Bcp导入。也不能用sql企业管理器的界面
      

  12.   

    既然是在局域网里,你就共用一个sql server数据库,不需要那个么麻烦把数据转来转去的
      

  13.   

    TO: holym(小雨)
    不在一个局域网啊,是单位财务预算。财务厅用一套数据,地下部门一,部门二。各自输完数据后,导出成文件,然后送到财务厅合并
      

  14.   

    TO:搂主
    这个问题我也遇到过,我有解决方案,请电子邮件[email protected]与我联系
      

  15.   

    在合并的机器上是SQLSERVER中做2个数据库一个用做临时(A),存放从别的机器拷贝来的数据。另一个(B)存放为合并后的数据。然后利用查询将临时(A)中的数据追加到(B)中。这个操作数据源应该能实现。转换成其他的形式也未必能省多少力气。(愚见仅供参考)
      

  16.   

    你把所有数据生成insert语句,然后加密生成密文文本;
    复制到另一处,再在内存中解密,然后执行。
      

  17.   

    转换为二进制
    DataSet ds;
    string xml = ds.GetXml();//可能有长度限制,不条的话先WriteXml,再用读入//转为二进制
    byte[] byes = System.Text.Encoding.Default.GetBytes(xml);
    //转为base64,加密
    string str64 = Convert.ToBase64String(byes);用以下还原
    bytes byte[] = Convert.FromBase64String();
    string xml = System.Text...GetString(bytes);