问题描述:本人用C#和sqlserver开发了一个单机版管理系统。sqlserver里面有一张表Table1,现在该系统在多台机器(非联网)上使用,每一台机器上都录入了数据,我想把多台机器录入的数据合并到一台机器上去。即一台机器录入完数据后,可以把它保存成一个特殊文件。然后用优盘拷贝到其他机器上,读取文件并合并数据。PS:能不能在一台机器上生成的DataSet,转换成一个文件,拷贝到另外一台机器上读取DataSet???
请高手指点,给出可行的方案就行了,谢谢!
请高手指点,给出可行的方案就行了,谢谢!
再在其他机器上还原成dataset
转换的方法网上有好多
DataSet.WriteXml ()
使用示例(在“开始”-“运行”里输入):
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")
拷贝Access文件,在写一个简单的导入程序就好了,sql server的工具也可以实现
我觉得还不如用SQL语句把一台机器上的Sql表直接导进另一台机器的数据库。你又转成DataSet不是麻烦了吗?
之所以把Dataset转成一个文件,是给用户用的啊。用户不会sql语句,不会Bcp导入。也不能用sql企业管理器的界面
不在一个局域网啊,是单位财务预算。财务厅用一套数据,地下部门一,部门二。各自输完数据后,导出成文件,然后送到财务厅合并
这个问题我也遇到过,我有解决方案,请电子邮件[email protected]与我联系
复制到另一处,再在内存中解密,然后执行。
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);