1. access不同于sqlserver,sqlserver可以一次性执行多条语句,比如"select * from a select * from b",同时查询两个表的结果,而access则不行,一次执行执行一条语句
2. sqlserver使用sql或odbc连接,access用oledb连接
a) char,vchar等在access中用‘文本‘表示,最大只能设255
b) 大于255的内容可用‘备注‘表示
c) Int,float,double,decimal可用‘数字表示‘,可通过设置字段大小区别
d) Datetime可用‘日期/时间‘表示,常规日期格式不能为空,可设为1900-1-1
e) Money可用‘货币‘表示,格式为’常规数字‘不能接受0值,需接受0值可将格式改为’固定‘
4. 下面简单说明一下思路:
4.1 从sqlserver2000到access
a) 将sqlserver2000的每张表的数据放在一个DataTable中,然后将所有DataTable放在一个dataset中
b) 然后从dataset中循环读取数据到一个access模板中,access模板需先创建,建议放在bin目录下,模板中表的数量及字段类型和sqlserver中需导出的表和字段类型需一致
c) 之后用File.Copy()方法将access模板复制到一个新的access文件,然后使用ICSharpCode.SharpZipLib.dll压缩,这个dll网上都可以下,也可以到我的群中下载。当能也可以用dll中的zip方法将access模板直接压缩
d)从access压缩文件解压并导入到sqlserver按照相反的思路即可.