繁体   English   中英

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

[英]How to connect/link SQL db to Access database using SSIS?

我有一个 SQL 数据库,它集中了我们机构内的所有数据; 但是,我们也从外部来源接收数据,这些数据需要解析到我们的数据库结构中。 我们的一个合作伙伴维护着一个 Access 2016 数据库,他们每周提供给我们以执行各种分析。 我的目标是构建一个 SSIS (2017) package 将数据从 Access db 移动到 SQL 表; 使用更新版本替换 Access db 并按计划重新运行 SSIS package。

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

你不需要 SSIS 来做这样的事情。 您可以简单地将数据从 MS Access 导出到 SQL 服务器,而无需回复其他应用程序。

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

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/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM