在论坛里看见好多新人都提问过这个老问题了,最近我也因为修改一个旧系统,用到了把ACCESS数据表要导出到SQL SERVER进行处理,现在把我实现的简单方法与新手们分享,有什么不足之处,欢迎指正,交流。
1、打开ACCESS数据库,右键选中要导出的表TABLE1,选择"导出",出现一个‘将表TABLE1导出....‘的对话框,在‘保存类型(T)’下拉列表选中'ODBC Databases (),出现一个导出对话框,一般的表名不做修改,默认就行了,点击‘确定’。
2、在‘选择数据源’对话框中,点击‘新建’按钮,出现的‘创建新数据源’中,选择‘SQL Server’数据源驱动程序,点‘下一步’,数据源名中可以输入你想定义的数据源名,本例数据源名为‘DC12’,点‘下一步,点‘完成’。
3、在出现的‘创建到SQL Server的新数据源’对话框中,服务器(S):选项下拉列表中,选择一个你想连接到的本地数据库或者网络数据库的服务器名称,本例的服务器名称为‘JIABAO9’,点‘下一步’,选中‘使用用户输入登录ID和密码的SQL Server 验证(S)’,分别在‘登录ID(L)和密码(P)’中输入访问数据库的的用户名和密码,点‘下一步’。
4、选择数据库的对话框里,在‘更改默认的数据库为(D)’下拉列表中选择一个已经有存在的数据库名称,本例数据库名为‘DBTEXT’,也就是把ACCESS数据库的TABLE1表数据导出到DBTEXT数据库,按‘下一步’--》完成--》确定。
5、在出现的‘选择数据源’对话框中,一般我们不用再修改‘DSN 名称(D)’的文件名了,前面已经命名为‘DC12’,点‘确定’;要求你在‘SQL Server登录’对话框里再次输入登录数据库的用户名和密码,输入完后,点击‘确定’,如果不出现错误提示,表明已经成功将ACCESS数据库表TABLE1的表结构和数据导出到数据库名为JIABAO9了。
6、在JIABAO9数据库下就新建立有一个名称为TABLE1的新表了,可用select * from TABLE1 来查询刚才导入的数据了。
7、因为是从ACCESS把数据表导入到SQL SERVER数据库的, 所以ACCESS和SQL SERVER数据
库的语法上有差别;
select 'stano,sname from stainfo where datepart(''m'',birth) =';是在ACCESS
数据库中的查询语句,在SQL SERVER中不能这样表达,否则会产生语法错误,
无效的参数传递: Invalib parameter specified for datepart;
注意大多数都是由引号或标点符号引起的,把m的引号去掉,
应该改为: select 'stano,sname from stainfo where datepart(m,birth) ='。
原文链接:http://blog.csdn.net/dingli3213/article/details/8106375