dll - SSIS 访问 DLL 中的入口点时出现问题

标签 dll ssis ibm-mq

我有一个 SSIS 脚本任务(用 C# 编写)正在尝试写入 WebSphere MQ 队列。显然,我们必须引用特定的 dll 来帮助建立此连接,但是我收到涉及单独 dll 的错误。当程序尝试打开与队列的连接时,出现以下错误:

{"Unable to find an entry point named 'zstMQGET' in DLL
'C:\\Program Files (x86)\\IBM\\WebSphere MQ\\bin\\mqic.dll'.":""}
System.Exception {System.EntryPointNotFoundException}

我在文件夹中找到了该dll并尝试将其添加为引用,但是VS2010不允许这样做。我收到一条错误消息“请确保该文件可访问,并且它是有效的程序集或 COM 组件。”

我还应该补充一点,我已下载 Dependency Walker 来检查 mqic.dll 并遇到以下错误消息:

“警告:至少未找到一个延迟加载依赖模块。” “警告:由于延迟加载相关模块中缺少导出功能,至少有一个模块存在未解析的导入。”

编辑 导致错误的代码部分是 MQQueue 对象的 get() 调用。这两种队列类型都是本地的,并且相应地设置 Dts.Variables

最佳答案

很抱歉(无法发表评论)但是您到底做了什么更改才能让它运行?我从 5.3 迁移到 7.1 时遇到完全相同的问题,但找不到解决方案

为了使这篇文章更像是一个答案:我能够通过使用 GET 函数的 3 参数调用(具有消息大小的函数)来抑制此错误,然后不会发生 EntryPoint-Error,但我不这样做知道确切的情况

更清楚:完全相同的函数调用稍后在我的程序中工作(无需任何修改),无需更改任何内容,因此这不是永久链接错误

关于dll - SSIS 访问 DLL 中的入口点时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11886957/

相关文章:

c++ - Windows Hook 和 DLL 加载

c++ - 添加 Boost 使调试构建依赖于 "non-D"MSVC 运行时 DLL

sql-server - SSIS 中的 Azure Blob 目标

sql - 如何在SSIS中打开FastParse选项?

c# - 使用 LuaInterface - ERROR_DLL_INIT_FAILED

windows - 在远程 Windows 机器上动态运行 DLL?

sql - 在 SSIS 派生列中替换 NULL

java - JMS 消息排序和事务回滚

WebSphere Message Broker MQMD 报告

编译 amqsput0.c [MQ]