[英]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.