【问题标题】:SSIS - Postgres to SQL Server (sql server agent job)SSIS - Postgres 到 SQL Server(sql server 代理作业)
【发布时间】:2018-09-20 09:48:56
【问题描述】:

我创建了一个通过 ODBC 32 位连接到 Postgres 的 SSIS 序列 - 通过 Visual Studios 调试它所有的连接和工作。

我作为集成服务目录部署到 SQL Server,我可以手动执行我的 3 个包(将执行标记为 32 位运行时)。

我现在的问题是,当我通过 SQL Server 代理创建作业并将每个步骤定义为 32 位运行时执行时,它抱怨:

ADO NET 源未能获取连接:指定的 DSN 包含驱动程序和应用程序之间的架构不匹配

我已经在网上说“确保检查 32 位运行时”,“确保在 Visual Studios 中你说假以在 64 位模式下运行”,但我感觉我在某个地方错过了一个技巧,我很困惑。

如果有人有任何见解,请?

视觉工作室 2015 SQL Server 2016

谢谢

拉吉

【问题讨论】:

    标签: sql-server postgresql ssis odbc


    【解决方案1】:

    我回答了一次这个问题,但我添加了 4 个步骤。 如果我很高兴看到您没有执行第二步?

    运行 32 位 SSIS 包有几个步骤:

    1. 检查是否以 32 位创建 ODBC。真正的 odbc 32 位管理员位于文件夹 C:\Windows\SysWOW64。
    2. 检查 SSIS 包是否检查了 run64bitruntime 属性 FALSE。
    3. 检查是否选中了 SQL 代理属性“使用 32 位运行时”。
    4. 检查是否在系统 DSN 选项卡的 ODBC 管理器中创建了 ODBC - 因为如果您在用户 dsn 选项卡中创建,只有您的用户会看到该 odbc。

    【讨论】:

    • 第 1、2、3 点与您已经定义的一样。立即创建系统 DSN 以查看是否有助于解决问题。感谢贾斯汀的指点
    • 如果这解决了您的问题,请报告。在 32 位和 64 位管理员或 sql 代理服务帐户中可能有几个具有相同名称的 ODBC 没有权限查看 ODBC...
    • 贾斯汀的系统 DSN ODBC 连接对我有用。多爱x
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-07
    • 2017-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多