微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用 SSIS 将 SQL db 连接/链接到 Access 数据库?

如何解决如何使用 SSIS 将 SQL db 连接/链接到 Access 数据库?

我有一个 sql 数据库,用于集中我们机构内的所有数据;然而,我们也从需要解析到我们的数据库结构中的外部来源接收数据。我们的一个合作伙伴维护一个 Access 2016 数据库,他们每周都会向我们提供该数据库以执行各种分析。我的目标是构建一个 SSIS (2017) 包,将数据从 Access db 移动到 sql 表;替换带有更新版本的 Access 数据库,并按计划重新运行 SSIS 包。

我正在尝试为 Access 数据库设置连接管理器,但是当我尝试构建连接字符串时,我在为 .accdb 文件提供的 DSN 列表中找不到驱动程序选项,只有 .mdb 文件类型。如何为 Access 2016 数据库(即 .accdb)创建连接???

解决方法

对于这样的事情,您不需要 SSIS。您只需将数据从 MS Access 导出到 SQL Server,无需在其他应用上回复。

此 VBA 示例将从 Access 中的表中导出数据到 SQL Server。

Option Compare Database

Private Sub Command0_Click()

Dim sTblNm As String
Dim sTypExprt As String
Dim sCnxnStr As String,vStTime As Variant
Dim db As Database,tbldef As DAO.TableDef

On Error GoTo ExportTbls_Error

sTypExprt = "ODBC Database" 'Export Type
sCnxnStr = "ODBC;DRIVER=SQL Server;SERVER=your_sever_name" & stServer & ";DATABASE=your_database_name" & stDatabase & ";Trusted_Connection=Yes"

vStTime = Timer
Application.Echo False,"Visual Basic code is executing."

Set db = CurrentDb()

'need a reference to Microsoft DAO 3.x library
For Each tbldef In db.TableDefs
'Don’t export System and temporary tables
    Debug.Print tbldef.Name
    If tbldef.Name Like "*Table1*" Then
        sTblNm = tbldef.Name
        DoCmd.TransferDatabase acExport,sTypExprt,sCnxnStr,acTable,sTblNm,sTblNm
    End If
Next tbldef

MsgBox "Done! Time taken=" & (Timer - vStTime)

On Error GoTo 0
SmoothExit_ExportTbls:
Set db = Nothing
Application.Echo True
Exit Sub

ExportTbls_Error:
MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure ExportTblsODST"
Resume SmoothExit_ExportTbls

End Sub

有关详细信息,请参阅下面的链接。

https://www.mssqltips.com/sqlservertip/2484/import-data-from-microsoft-access-to-sql-server/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。