AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题 / 162354
Accepted
pmdci
pmdci
Asked: 2017-01-27 08:43:53 +0800 CST2017-01-27 08:43:53 +0800 CST 2017-01-27 08:43:53 +0800 CST

安装 Firebird ODBC 驱动程序时出现问题——最终找不到驱动程序

  • 772

我在使用 ODBC 驱动程序(版本 2.0.4.155)连接到 Firebird 数据库的 SSIS 作业时遇到问题。

  • SSIS 包在安装在 Windows 7 32 位(别问!)上的 Visual Studio 2008 中完美运行
  • 在 SQL Server 2008 64 位中部署到 SSIS 时,包无法执行。错误:

    未找到数据源名称且未指定默认驱动程序。

这立即让我想到 ODBC 驱动程序不匹配可能是问题所在,SSIS 正在寻找 32 位驱动程序。所以这就是我所做的:

  • 卸载 Firebird ODBC 64 位驱动程序
  • 安装了 Firebird ODBC 32 位驱动程序
  • 修改了 SQL Server 中的作业计划,使其以 32-vbit 执行
  • 之后包成功运行——但是有一个转折。

只要我仍然登录到 SQL 服务器(我登录是为了安装 Firebird 驱动程序),我就可以再次执行该程序包。我什至可以从删除的 SQL Server Management Studio 连接中执行它——但只要我不从服务器注销。

如果我从服务器注销,则 SSI 作业将不再工作(与以前相同的错误)。这让我认为这实际上不是 32/64 位不匹配,但由于权限不足,我从服务器注销后可能没有提交某些注册表或环境变量(即使我本应是管理员那个服务器)。

所以对于我的下一个测试:

  • 我卸载了 32 位驱动程序
  • 重新安装了 64 位驱动程序
  • 保持登录到 SQL 服务器
  • 从远程 SQL Server Management Studio 一次又一次地执行作业:它每次都有效

我从该 SQL 服务器注销后,该行为再次发生。一开始很难排除故障,因为驱动器安装时没有出现任何错误,甚至一开始就可以正常工作。

但我现在确信这与权限有关。任何想法我可能会错过什么?

ssis odbc
  • 1 1 个回答
  • 864 Views

1 个回答

  • Voted
  1. Best Answer
    pmdci
    2017-01-27T10:31:07+08:002017-01-27T10:31:07+08:00

    这里的问题是我必须创建一个系统 DSN,这实际上很奇怪,因为 SSIS 作业计划使用用户 DSN 所在的帐户运行,并且只要我使用该帐户登录到服务器,它就可以工作帐户。无论如何,我太累了,无法理解为什么用户 DSN 不起作用。所以我决定改用系统 DSN。

    并不是我反对系统 DSN(恰恰相反!),但设置此用户 DSN 的不是我,而且我不知道用于创建系统 DSN 的凭据的密码。所以我必须有点创意。

    我不得不使用注册表编辑器和记事本将用户 DSN 转换为系统 DSN。这是我的做法:

    1. 使用具有要转换为系统 DSN 的用户 DSN 条目的用户登录
    2. 打开注册表编辑器并导航到 HKEY_LOCAL_CURRENT\SOFTWARE\Microsoft\ODBC\
    3. 右键单击 ODBC.INI 并选择导出以将其另存为桌面上的文件(或您喜欢的任何其他地方)
    4. 使用记事本等文本编辑器打开 .reg 文件
    5. 将文本 HKEY_CURRENT_USER 替换为 HKEY_LOCAL_MACHINE。保存您的更改
    6. 双击 .reg 文件并继续将其导入注册表。

    上面概述的过程基本上将所有用户 DSN 条目复制为系统 DSN 条目。如果您只复制一个条目,那么您将需要删除它们在 .\ODBC.INI 下的对应项以及它们在 .\ODBC.INI\ODBC 数据源中的对应条目。

    • 2

相关问题

  • Microsoft BI 中的 BI 开发

  • 数据仓库设计:组合日期时间维度与单独的日期和时间维度和时区

  • 我可以降级 SSIS 包以在旧版本的 SQL 上运行吗

  • 在 Microsoft BI 中查找改进材料

  • 约束 SSIS 执行进程任务的最简单方法

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve