问题标签 [iodbc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
10166 浏览

unix - iODBC 和 unixODBC 之间的功能区别是什么?

有两个主要的开源平台独立的ODBC实现。它是iODBCunixODBC

考虑到 Unix 作为 ODBC 用户平台和功能,这两种实现之间真正的实际区别是什么?

0 投票
3 回答
1499 浏览

ruby-on-rails - OSX 和 Rails 2.3.x 上的 unixodbc 和 freetds 设置

我正在尝试在 OSX (10.7.3) 上设置 unixodbc,但看起来 iODBC 即将推出。

我的配置/database.yml:

ruby-obdc 已安装并在 Gemfile 中:

/usr/local/etc/freetds.conf:

/usr/local/etc/odbc.ini

当我运行script/console并尝试访问任何模型时:

产品 ODBC::Error: IM002 (0) [iODBC][Driver Manager]未找到数据源名称且未指定默认驱动程序。无法加载驱动程序

当我想使用 unixodbc 时,似乎正在使用 iODBC 连接到数据库。如何让我的 rails 应用程序使用 unixodbc 而不是 iODBC?

0 投票
1 回答
5551 浏览

sql-server - 在 Mac 上使用 iODBC 连接到 MS SQL Server

我正在尝试使用 iODBC 从我的 Mac 开发机器连接到 Microsoft SQL Server。无论我做什么,我都会收到Unable to connect to data source来自 FreeTDS 驱动程序的错误消息。在查阅了各种手册、博客文章和 StackOverflow 问题之后,我束手无策。

我使用的是 Mac OS X 10.7.4,通过 Homebrew 安装了 FreeTDS 版本 0.91。这就是我正在做的事情:

以上连接并有效,但是:

由于我最终计划通过 PyODBC 使用它,因此我也尝试过:

我已经尝试了博客文章和 SO 帖子中建议的所有方式...在 ODBC 管理器中创建 DSN,创建一个~/.odbc.ini,尝试使用 unixODBC(它不适用于 PyODBC),指定一个连接字符串而不是关键字 args,等等。我还通过 iODBC 生成了一个跟踪文件,我已将其粘贴到此处,但我无法从中收集到比错误消息更多的信息。

(我应该提到,我通过 SSH 与 SQL Server 建立隧道连接,因为LocalForward localhost:1433 production.someinstitution.edu:1433~/.ssh/config的 IT 部门限制我只能从生产服务器的 IP 进行连接。它适用于 GUI 客户端(SQuirreLSQL),所以我假设转发是正确的。)

0 投票
0 回答
237 浏览

python - 用于猜测安装了哪个 ODBC 驱动程序管理器的 Python 脚本

我正在使用 distutils 分发一个 python C 扩展库,该库需要链接到用户系统中可用的 ODBC 驱动程序管理器(如果有)。对于 Windows,可以假设系统提供的管理器是要使用的管理器。然而,对于其他操作系统,有几个驱动程序管理器可用(主要是 iODBC 或 unixODBC)。

您是否知道一种方法来检测用户操作系统中安装了哪些,以便 setup.py 脚本可以动态选择那个?理想情况下,它适用于 Mac 和主流 Linux 发行版。

0 投票
1 回答
2461 浏览

sql-server - 在 cygwin 下配置 iodbc 以使用 FreeTDS for MS SQL Server

我正在尝试使用 RODBC 在 cygwin 下从 R 连接到 SQL Server 数据库。

我已经安装了libiobbcand libiodbc-devel,据我了解,它提供了 RODBC 包所需的驱动程序管理器。

我安装了freetds,据我了解,它提供了一个可以连接到 MS SQL 服务器数据库的 ODBC 驱动程序。我使用它的tsql命令行工具来确认我可以连接到 SQL Server。

我现在了解将驱动程序管理器 (iODBC) 指向驱动程序 (freeTDS) 的任务,以便我可以从 R 的RODBC库连接到 SQL Server 数据库

freeTDS的用户指南提示 freeTDS 提供的驱动程序应该是 at /usr/local/freetds/lib/libtdsodbc.so,并且类似下面的内容应该将此驱动程序定义为 idobc:

但我libtdsodbc.so的系统上没有,而且 cygwin 包freetds似乎没有提供它(已安装二进制文件和支持文件的列表

如何配置 idobc 以使用 freeTDS 驱动程序连接到 MS SQL?

编辑

一位同事位于我/lib/cygtdsodbc.dll/usr/lib/cygtdsodbc.dll系统上。这可能是 cygwin 的等价物libtdsodbc.so吗?

我创建了一个odbcinst.ini包含以下内容的文件来定义驱动程序:

和一个odbc.ini定义数据源的文件my_db,使用上面定义的驱动程序:

跑去iodbctest检查

0 投票
2 回答
4977 浏览

python - 如何确定是否安装了 iODBC、unixODBC(或都不安装)?

我在 Ubuntu Linux 上,想知道如何检测系统有什么 ODBC 驱动程序管理器(如果有的话)。

就像 Rakib 的评论一样,我使用的一种非常粗略的方法是简单地尝试运行isql(unixODBC) or iodbctest,因为 Ubuntu 会报告是否安装了它们的父包。有趣的是,在这个新的虚拟机上,pyodbc 告诉我使用了 unixODBC,即使它的工具没有安装(见截图)。

运行 isql、iodbctest 和 pyodbc.connect() 以确定可用的 ODBC 驱动程序管理器

0 投票
1 回答
617 浏览

sql - (Libre Office / Base Database)总是尝试使用 iODBC 连接 ODBC,而不是 Mac OSX 10.10 上的 unixODBC

我在我的 Mac OSX 10.10 Yosemite 上使用 Libre Office 版本:4.3.4.1。

在基础数据库中,我想使用 unixODBC DSN 连接 MS-SQL 服务器。

但似乎 Libre Office 试图通过 iODBC 连接,而不是 unixODBC。(我从未在我的 Mac 上安装过 iODBC。)

这是我尝试过的。

按照说明,我已经使用 Homebrew 设置了 unixODBC、FreeTDS,并且所有 tsql/isql 连接测试都很好。

安装后,我从基本数据库启动了“数据库向导”。然后从“连接到现有数据库”中选择“ODBC”,我s01在“系统上的 ODBC 数据源名称”字段中输入了我的 unixODBC DSN 名称。(当我单击“浏览”时,没有显示已注册的数据源。)我输入了我的 unixODBC 用户名并检查了需要密码。

当我单击“测试连接”按钮并输入密码时,出现如下错误。

有没有人有解决这个问题的想法?

0 投票
1 回答
401 浏览

odbc - 如何在不连接数据库的情况下使用 ODBC API 获取驱动程序版本?

我们有代码可以连接到各种数据库,并且在使用SQLGetInfo()带有参数的调用进行连接后,我们得到了驱动程序版本SQL_DRIVER_VER

但是,我们也需要其他情况下的驱动程序版本,例如,在连接之前,以及在尝试连接时出错的情况下。在这些情况下,至少在 Windows 上获取驱动程序版本的唯一方法似乎是通过驱动程序 DLL 的文件元数据信息。其他平台上的驱动程序甚至没有这个文件元数据。

那么,有没有办法在我们未连接时使用 ODBC 获取驱动程序版本?

谢谢,埃德

0 投票
1 回答
525 浏览

php - 在 Virtuoso Server 上设置 PHP 的问题

我有一个 Virtuoso 服务器在 Centos7 上运行,并且一直在尝试能够从 HTML 表单执行 PHP 文件(即使是非常基本的只是为了测试),但没有运气。我发现我必须安装 PHP,并且一直在阅读 virtuoso GitHub README.php5的文档以在 virtuoso 服务器上设置 PHP。这是我第一次设置 PHP,在尝试运行make命令时遇到了问题。我在目录中/etc/php-5.2.10,并且能够运行configure带有所有标志的命令。make我收到的命令的错误是:

我不知道这些软件包是否相关,但为了获得更多信息,我还安装了以下软件包:

我已经跑去sudo find / -iname '*iodbcext.h*'尝试确定该文件的位置,我得到的唯一结果是/usr/include/libiodbc/iodbcext.h. 但是,我不确定这是否是make要查找的内容,或者是否应该在使用的目录中存在另一个php-5.2.10目录,如果那是正确的,我将如何处理它?

非常感谢在 Virtuoso 服务器上设置 PHP 的任何帮助或建议。

0 投票
2 回答
1548 浏览

php - 无法使用 php 和 odbc 连接到 HyperFileSQL

我有一个带有 HyperFileSQL 的数据库,我想通过 php 访问这个数据库。如果我使用 IODBC 与 iodbc.ini 连接,它可以工作!!!但是当我想从 php 与 odbc 连接时,我没有这个作为回报:

SQLSTATE[0] SQLDriverConnect: 0 [unixODBC]I

当我使用此行从 iodbc 连接到数据库时:

有用 !

这是我的代码:`

我不知道为什么我无法连接...请帮助!