如何将DataFactory实例连接到Access数据库? [英] How to connect my DataFactory instance to an Access Database?

本文介绍了如何将DataFactory实例连接到Access数据库?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

因此,我正在设置一个数据流,以将数据从Access数据库拉入我的数据工厂,然后推送到湖/数据仓库。

我已经在包含该文件的VM上设置了一个集成运行时。我目前正在使用我自己的凭据尝试使连接正常工作。

我开始使用此指南: https://docs.microsoft.com/en-us/azure/data-factory/connector-microsoft-access?tabs=data-factory

把东西准备好。这是连接字符串:

Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=C:Users<myusername>Documents	est_access.accdb;
使用我的用户名和密码进行基本身份验证。我已经在DataFactory中测试了常规文件系统链接服务的凭据,它们工作正常。

我已在VM上安装了Access并打开了数据库。已检查并重新安装驱动程序,确保集成运行时用户和我的用户可以访问HKEY_LOCAL_MACHINESOFTWAREODBC注册表项。集成运行时正在为DataFactory上的其他文件/链接服务工作。尽管如此,我还是不断收到这个错误:

Error code
9603
Details
ERROR [HY000] [Microsoft][ODBC Microsoft Access Driver]General error Unable to open registry key Temporary (volatile) Ace DSN for process 0x83c Thread 0x132c DBC 0x6c7884e8 Jet'. ERROR [IM006] [Microsoft][ODBC Driver Manager] Driver's SQLSetConnectAttr failed ERROR [HY000] [Microsoft][ODBC Microsoft Access Driver]General error Unable to open registry key Temporary (volatile) Ace DSN for process 0x83c Thread 0x132c DBC 0x6c7884e8 Jet'. ERROR [HY000] [Microsoft][ODBC Microsoft Access Driver] The Microsoft Access database engine cannot open or write to the file '(unknown)'. It is already opened exclusively by another user, or you need permission to view and write its data. ERROR [HY000] [Microsoft][ODBC Microsoft Access Driver]General error Unable to open registry key Temporary (volatile) Ace DSN for process 0x83c Thread 0x132c DBC 0x6c7884e8 Jet'. ERROR [HY000] [Microsoft][ODBC Microsoft Access Driver]General error Unable to open registry key Temporary (volatile) Ace DSN for process 0x83c Thread 0x132c DBC 0x6c7884e8 Jet'. ERROR [HY000] [Microsoft][ODBC Microsoft Access Driver] The Microsoft Access database engine cannot open or write to the file '(unknown)'. It is already opened exclusively by another user, or you need permission to view and write its data. Activity ID: 1ac4d9fc-17ee-4e0d-b5cc-4e0a2d6931da.

我只需要读取访问权限。我已经保存了一份副本以供参考,因此它不会被其他用户锁定。我已经登录到该VM,并与该用户打开了相同的数据库,因此看起来不像是权限错误。我不确定下一步可以尝试什么。

我发现无论我输入什么用户/密码组合,都会得到相同的错误,所以可能是驱动程序的问题?

推荐答案

我想出来了。

NT ServiceDIAHostService帐户是集成运行时的服务帐户。现在,即使在Datafactory中,也需要指定将打开Access数据库的特定用户。事实证明,运行IR的服务帐户需要对该文件具有完全(读和)访问权限才能成功连接。

我想要读取文件,而不仅仅是本地文件,因此我需要使用我自己的用户运行IR。因此,我重新安装了IR,授予了我自己的用户对IR配置文件的权限,确保此用户和Datafactory上的用户输入对Access数据库具有读写访问权限,最终一切正常。

这篇关于如何将DataFactory实例连接到Access数据库?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆