1、1L的说法不正确。1L的是追加查询,不是导入数据。
2、2L的做法有些麻烦,其实不必先导出。
假定要把甲数据库中的A表导入到乙数据库中:
先打开乙数据库,然后在表的空白处右击(或在文件\获取外部数据\导入),选择导入,这时候,默认情况下是导入Access数据库中的表的。
您就浏览打开甲数据库,点击“打开”,这时候会d出甲数据库中所有的表(A、B、C、D等等),选择A表导入就行了。
Access是微软Office组件的数据库软件,使用它可以进行简单的数据库软件的开发。但Access的图表功能和数据分析功能不如Excel强大,常用的做法可以将Access中的数据导入Excel中再进行处理。
代码利用ADO组件可以方便地对各种数据进行连接和访问。ADO组件中的Connection对象可以实现对数据库的连接,并可以快速实现SQL语句的执行,然后再用VBA将SQL查询的结果输出到Excel表格中。
打开VBE窗口,选择菜单“工具”一“引用”,勾选MicrosoftActiveXDataObjects28Library,并单击“确定”按钮。
利用ADO连接数据库ADO的全称是ActiveXDataObject,是一个用于存取数据源的COM组件,用以快速实现各种数据库的连接、读取、写入。在ADO组件中有一个Connection对象,利用Connection对象的Open方法可以实现数据库的连接。
一使用SQL Server的数据库导入/导出功能。首先在要导入到的SQL Srever数据库上右键,选择“任务”,然后选择“导入数据”,按照提示下一步直到完成即可成功将Access数据库导入到SQL Server数据库中,此种方法如果SQLServer数据库中没有相应的数据表,则会自动创建改表,但是约束等表关系不会同步导入,如果SQLServer中有相同名称并且属性相同的数据表,则会直接将Access数据库中的对应表的数据导入。
在导入过程中,还可以通过SQL语句指定要导入的数据。
使用这种方法一般会出现以下两种错误:
(1)无法建立数据流连接
为连接管理器“{FFBF32BF-EE84-4F94-ACDB-D4C5AC4C2941}”指定的连接类型“OLEDB”未被识别为有效的连接管理器类型。当视图创建未知连接类型的连接管理器时会返回此错误。请检查连接类型名称的拼写是否正确。
(2)无法连接源组件
找不到连接“SourceConnectionOLEDB”。如果找不到特定的连接元素,Connections集合将发生此错误。
其他信息:
找不到连接“SourceConnectionOLEDB”。如果找不到特定的连接元素,Connections集合将发生此错误。
({0DE0CDBB-BCD6-4261-A118-B0CB22DA3C4A})
具体解决办法是打开SqlServerConfiguration Manage,右键单击“SqlServer Integration Services”,选择“属性”,将登录身份修改为“LocalSystem(本地系统)”,然后重新启动该服务。
二使用Access数据库的数据升迁功能。首先点击“工具”菜单,选择“数据库实用工具”,选择“升迁向导”,这是会提示该功能尚未安装,需要安装XXX之类的信息,点击安装,等待安装成功后,即可d出“升迁向导”对话框,按照提示下一步直到完成,即可将Access数据库导入到SQLServer数据库中。使用此种方法的好处是Access数据库中的所有数据以及表关系都会被原样导入到SQL Server数据库中。
三使用SQL语句批量导入。1当只需要导入Access数据库中的指定表以及指定表的指定列到SQLServer数据库中时,前面的两种方法就显得不那么方便了。而使用SQL语句导入可以方便快捷的导入需要的数据。具体代码如下
(1)SQLServe数据库中已存在要导入数据的表(这样可以事先按照要导入的Access数据库的数据表创建好需要的关系)
Insert intotable(tid,tname)SELECT id,nameFROM OPENDATASOURCE ('MicrosoftJetOLEDB40','Data Source="c:\Shopmdb";User ID=Admin;Password=' )ShopGoods
(2)SQLServer数据库中不存在要存储导入数据的表(使用下面的代码会直接在SQL Server数据库中创建相应的数据表)
SELECTid,nameINTO table(tid,tname)FROM OPENDATASOURCE ('MicrosoftJetOLEDB40','Data Source="c:\Shopmdb";User ID=Admin;Password=' )ShopGoods
其中,table是SQL Server中用来存储Access导入数据的数据表名,ShopGoods是指要导入到SQLServer中的Access数据库中的数据表名。前面的三个点不能省略。
但使用这种方法时有可能出现以下错误:
SQLServer 阻止了对组件 'Ad Hoc DistributedQueries' 的STATEMENT'OpenRowset/OpenDatasource' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用sp_configure 启用 'Ad Hoc Distributed Queries'。有关启用 'Ad Hoc Distributed Queries' 的详细信息,请参阅 SQLServer 联机丛书中的 "外围应用配置器"。
具体解决办法是使用如下语句启用“'AdHoc Distributed Querie”
EXECsp_configure 'show advanced options', 1 GO RECONFIGURE GO EXEC sp_configure 'AdHoc Distributed Queries', 1 GO RECONFIGURE GO
找开企业管理器 先在sql里建一数据库 选择所有任务 导入数据 选择数据源中选microsoft access 在把access数据库导入到mssql数据库时,应该注意的几个问题 在使用MSSQL SERVER的时候,和ACCESS有很多区别的,即使是用SQL SERVER导入ACCESS数据库,也有很多地方需要注意,这里,捡几个例子来说说。 1、在ACCESS中经常使用的自动编号字段,导入到MSSQL后,他并不是自增型的INT,需要手工设置,把导入后的自动编号字段的标识的“否”改为“是”,“种子”和“递增量”都为“1”,才能成为自动编号; 2、在MSSQL SERVER中,有许多保留字,在ACCESS中是没有的,当你把数据导入到MSSQL的时候,问题就出来了。MSSQL在导入的时候,会自动给这些字段(包括数据库中的表名)加上“[字段名]”,因此,你必须修改你的脚本,把相应的字段名字(或者表名字)加上中括号,或改变字段名字为不是MSSQL的保留字。(具体是那些,请参考有关资料)
以上就是关于如何把Access的一张表导入到另一个Access库表中全部的内容,包括:如何把Access的一张表导入到另一个Access库表中、如何用vba将ACCESS窗体和查询导入另一个数据库中、如何将ACCESS数据库导入到SQLSERVER等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)