运行 SSIS 包时出现问题:“未找到数据源名称且未指定默认驱动程序”

发布于 2024-11-29 16:14:20 字数 646 浏览 4 评论 0原文

我开发了一个 SSIS 包,它将一些数据作为 XML 文件,对其进行处理并将其插入到我们的数据库中。当包被调试时(即在 BIDS 中运行),它在我的本地计算机上运行良好。我还可以将该包编译为 .dtsx 文件,并通过执行 DTExec.exe 通过命令行运行它。我正在运行 SQL Server 2005。当我将其移动到也运行 SQL Server 2005 和集成服务的测试服务器时,我无法通过命令行执行该包。我不断收到此错误

错误:2011-08-16 17:50:39.11 代码:0xC0202009 来源:ProcessSubmissionData 连接管理器“Master” 描述:发生 OLE DB 错误。错误代码:0x80004005。 OLE DB 记录可用。来源:“用于 ODBC 驱动程序的 Microsoft OLE DB 提供程序” Hresult:0x80004005 描述:“[Microsoft][ODBC 驱动程序管理器] 未找到数据源名称且未指定默认驱动程序”。 结束错误

我已经在网上搜索并尝试了我能找到的所有解决方案,但无济于事。有没有人可以帮忙解决这个问题?如果有帮助,这是连接管理器正在使用的连接字符串

Data Source=xxxx;User ID=xxxx;Password=xxxx;Initial Catalog=database;Provider=SQLOLEDB;

I've developed a SSIS package that takes some data as an XML file, processes it and inserts it into our DB. When the package is being debugged (i.e. running in BIDS), it works fine from my local machine. I can also compile the package to a .dtsx file and run it via command line by executing DTExec.exe. I am running SQL Server 2005. When I move it to a test server, also running SQL Server 2005, and Integration services, I cannot execute the package via command line. I keep receiving this error

Error: 2011-08-16 17:50:39.11
Code: 0xC0202009
Source: ProcessSubmissionData Connection manager "Master"
Description: An OLE DB error has occurred. Error code: 0x80004005.
An OLE DB record is available. Source: "Microsoft OLE DB Provider for ODBC Drivers" Hresult: 0x80004005 Description: "[Microsoft][ODBC Driver Manager]
Data source name not found and no default driver specified".
End Error

I've searched the web and tried every solution I can find, to no avail. Is there anyone who can help with this? If it helps, this is the connection string that the connection manager is using

Data Source=xxxx;User ID=xxxx;Password=xxxx;Initial Catalog=database;Provider=SQLOLEDB;

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

听你说爱我 2024-12-06 16:14:20

该错误告诉您数据源名称 (DSN) 不存在,而不是 ODBC 驱动程序不存在。

因此,如果您的计算机是 32 位,那么您似乎根本没有通过 ODBC 管理器创建 ODBC 数据源 (DSN)。

(DSN 本身内的参数决定使用哪个 ODBC 驱动程序...)

此外 - 这需要是“系统”DSN(不是用户 DSN),因为作为系统服务运行的应用程序不会有权访问用户 DSN。用户 DSN 仅在每个用户登录时可用!

The error is telling you that the Data Source Name (DSN) does not exist rather than the ODBC Driver.

So, if you machine is 32bit then it seems you have simply not created an ODBC Data Source (DSN) via the ODBC Administrator.

(The parameters within the DSN itself determine which ODBC Driver is used...)

Also - this needs to be a "System" DSN (Not a User DSN) since applications running as a system service will not have access to User DSNs. User DSNs are only available on a per user basis when that user is logged in!!!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文