利用ODBC把.accdb格式数据导入到SQL Server

项目中经常需要把一种格式的数据转成另一种格式的数据,本文主要介绍怎么把.accdb格式的数据导入到SQLServer之中,下文可能缺少一些不是必要(可以直接下一步)的步骤,但是不影响操作,具体操作如下:

1、在控制面板搜索odbc,结果如下图,有两个结果,一个是32位的一个是64位的,64位的没有编辑和删除功能,点击32位的进入odbc管理工具。
这里写图片描述

2、选择【用户DSN】,点击添加
这里写图片描述

3、选择数据源驱动程序,我们要用的是.accdb后缀的,如图,双击进入安装界面
这里写图片描述

4、在安装界面点击选择,选择数据源
这里写图片描述

6、选择完数据源之后回到安装界面,填写数据源名称,如图,点击确定
这里写图片描述

7、完成,已经创建一个新的数据源,打开SQL Server,创建一个新的数据库。

8、选择数据库,右键选择任务》导入数据》在打开的窗口中,数据源:第一个(odbc),然后填写刚才创建好了的odbc数据源名称》下一步
这里写图片描述

9、选择 复制一个或多个表或视图的数据,下一步
这里写图片描述

10、选择要复制的表或视图,勾选要复制的表,下一步
这里写图片描述

11、当出现如下界面的时候,点击完成
这里写图片描述

12,等待完成
这里写图片描述
这里写图片描述

注意:在同时导入多个表的时候可能出现异常,导致程序中断执行,具体原因还是不太清楚,但是可以通过一次性导入少一点的表的方式解决。
当我全选的时候,就报异常了
这里写图片描述
这里写图片描述
选择几个表的时候就可以
这里写图片描述
这里写图片描述

具体原因不知道,是数据量太大了吗?还是数据源有问题?有知道的没?

在VBA中将Access数据库中的数据写入到SQL Server,可以采用以下步骤: 1. 首先,在VBA代码中连接到Access数据库和SQL Server数据库。可以使用ADODB对象模型来实现。例如,使用ADO连接字符串来连接到Access数据库: ```vba Dim conn As ADODB.Connection Set conn = New ADODB.Connection conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=YourAccessDatabase.accdb;Persist Security Info=False;" conn.Open ``` 以及连接到SQL Server数据库: ```vba Dim connSQL As ADODB.Connection Set connSQL = New ADODB.Connection connSQL.ConnectionString = "Provider=SQLOLEDB;Data Source=YourSQLServer;Initial Catalog=YourDatabase;User ID=YourUsername;Password=YourPassword;" connSQL.Open ``` 2. 使用ADODB.Recordset对象从Access数据库读取数据。例如,从Access表中读取用户信息: ```vba Dim rst As ADODB.Recordset Set rst = New ADODB.Recordset rst.Open "SELECT * FROM YourAccessTable", conn ``` 3. 创建一个INSERT INTO语句,以将数据插入SQL Server数据库中的相应表。例如,将用户信息插入SQL Server表中: ```vba While Not rst.EOF Dim sql As String sql = "INSERT INTO YourSQLTable (Column1, Column2) VALUES ('" & rst.Fields("Field1").Value & "', '" & rst.Fields("Field2").Value & "')" connSQL.Execute sql rst.MoveNext Wend ``` 4. 关闭连接和释放对象资源: ```vba rst.Close conn.Close Set rst = Nothing Set conn = Nothing Set connSQL = Nothing ``` 这样,就可以通过VBA将Access数据库中的数据写入到SQL Server数据库了。注意,在实际应用中,需要根据具体的表结构和字段设置来编写相应的SQL语句和字段值的拼接方式。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郑小晨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值