问题标签 [unixodbc]

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 回答
5373 浏览

sql-server - 通过 isql 实用程序从 linux 客户端登录 sql server(windows 身份验证帐户)

我正在尝试从 Redhat 机器连接到在 Windows 上运行的 SQL Server。我可以通过“SQL Server”帐户登录服务器,但不能通过“Windows 身份验证”帐户登录。我尝试了各种技巧 - 但没有一个奏效:

我也用谷歌搜索并遇到了:https ://askubuntu.com/questions/167491/connecting-ms-sql-using-freetds-and-unixodbc-isql-no-default-driver-specified

我有 unixODBC 驱动程序,但没有 freetds。我应该仍然能够在没有 freetds 的情况下连接。还是无法仅使用 unixODBC 驱动程序连接?

- 我按照 Benny Hill 的建议安装了 freetds 并遵循了配置 - 我仍然无法让它工作。

odbc.ini:

odbcinst.ini (RedHat 安装 freetds 不自带Set Up文件

现在,当我尝试连接时 - 我收到以下错误消息:

我什至无法SQL Server通过 freetds 连接到帐户(如果没有 freetds 我可以) - 关于Windows Authentication帐户我能说什么?

0 投票
0 回答
237 浏览

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

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

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

0 投票
4 回答
13033 浏览

linux - RODBC 无法识别我的 odbc 设置

我在 Red Hat Linux 6 服务器上运行 R 2.15.2。我的目标是通过 RODBC 连接到另一台机器上的 MS SQL Server 数据库。我做了研究,从微软支持网站下载并安装了 Linux 版本的 MS SQL ODBC 驱动程序。我必须从源代码构建 unixODBC 版本 2.3.0,因为它是 Windows 驱动程序所必需的,并且不在 RHL 存储库中(存储库版本是 2.2.14)。

总之,经过一番努力,我终于把驱动安装好,配置好了,可以通过isql命令成功连接到SQL Server数据库:

所以我知道我已经正确设置了我的odbc.ini和文件。odbcinst.ini

但是,当我尝试从 R 中访问 ODBC 连接时,会发生以下情况:

这是odbcDataSourcesR中命令的结果:

我一直在做一些研究,我认为解决方案(尽管我可能错了)可能与正确配置 ODBC 环境变量有关,以便 RODBC 知道去哪里查找odbc.ini。根据我的研究,我发现了以下可能相关的环境变量:$ODBCINI, $ODBCSYSINI, $ODBC_ROOT $ODBC_INCLUDE, and $ODBC_LIBS. 我对这些应该设置的内容有一个合理的想法,但我不确定如何永久设置它们,以便 RODBC 可以识别在哪里找到相应的文件。

任何人都可以为我阐明这一点吗?我不确定我是否正确理解环境变量在 linux 中的工作原理,尤其是为什么isql连接没有问题,但RODBC甚至找不到驱动程序/数据源。

注意:当我安装了 unixODBC 的 repo 版本时,使用 R 中的命令可以很好地安装 RODBC install.packages('RODBC')。但是,在我从源代码安装 unixODBC 2.3.0 后,由于依赖关系问题,RODBC 安装会失败,我不得不使用此处发布的指南从源代码安装 RODBC 。有没有可能我一开始就没有正确配置 ODBC,这就是我现在遇到麻烦的原因?

0 投票
3 回答
8770 浏览

sql-server-2008 - 如何配置 pyodbc 以使用 freeTDS 和 unixODBC 正确接受来自 SQL Server 的字符串?

我无法从 MSSQL 服务器获取有效字符串到 python。我相信某处存在编码不匹配。我相信它位于 ODBC 层和 python 之间,因为我能够在 tsql 和 isql 中获得可读的结果。

pyodbc 期望什么字符编码?我需要在链中进行哪些更改才能使其正常工作?

具体例子

这是一个简化的python脚本作为示例:

这个脚本的输出是:

或者,如果脚本的最后一行更改为:

那么结果是:

使用tsql执行相同查询的脚本:

以及在isql中:

所以我早上一直在做这个工作,看起来高高低低,还没有弄清楚有什么问题。

细节

以下是版本详细信息:

  • 客户端是 Ubuntu 12.04
  • freetds v0.91
  • unixodbc 2.2.14
  • 蟒蛇2.7.3
  • pyodbc 2.1.7-1(来自 ubuntu 包)和 3.0.7-beta06(从源代码编译)

  • 服务器是带有 SQL Server Express 2008 R2 的 XP

下面是客户端上几个配置文件的内容。

/etc/freetds/freetds.conf

/etc/odbcinst.ini

/etc/odbc.ini

0 投票
3 回答
11380 浏览

sql-server - odbc 无法连接到 OS X Lion 上的 MSSQL 数据源

odbcisql无法连接到数据源:

返回:

虽然tsql可以:

返回:

$ cat ~/.freetds.conf

$ cat ~/.odbc.ini

$ cat ~/.odbcinst.ini

freetds并且unixODBC是在家安装的brew

我在 CentOS 上有类似的设置,并且 odbc isql 到 mssqlserver 工作正常。有一个明显的区别,我没有libtdsS.so在 OS X 上看到安装。

# cat /etc/odbcinst.ini在 CentOS 上:

这是问题的原因吗?

ps$ odbcinst -j返回:

$ odbcinst -q -d返回:

$ odbcinst -q -s返回:

0 投票
1 回答
873 浏览

sql-server - bcp 实用程序不加载表但没有给出错误

我正在尝试使用包提供MSSQL-2008的实用程序将文件中的一些数据导入数据库表。数据库在 Windows 机器上,我正在 Linux 机器上运行 bcp 命令。bcpunixODBC-2.3.0

我遇到的问题是我在运行命令后没有得到任何响应,也没有在目标表中导入数据。我不知道出了什么问题,这是我正在使用的命令:

XX.XX.XX.XX我的机器IP在哪里。指定的日志文件中没有输出,也没有错误。

当我从 Windows cmd 提示符下使用相同的 bcp 命令时,它工作正常。

0 投票
2 回答
1076 浏览

sql-server - 如何在 unixODBC 中使用连字符指定数据库名称?

我有一个名为 pm-eng 的 SQL Server 数据库,需要从 linux 机器连接到该数据库。我已经设置了 unixODBC 并配置了我的 odbc.ini,如下所示:

当我使用 iSQL 进行测试时,连接时出现错误,提示“pm”数据库不存在。我尝试将数据库名称包装在 [] 和引号中,但没有成功。理想情况下,我只会更改数据库的名称,但在这种环境下这是不可能的。我已经用一个没有连字符的数据库名称验证了我的连接,它工作正常。是否可以使用带连字符的 DB 名称连接到 ODBC DSN?

0 投票
3 回答
46 浏览

unix - BASH sh 脚本

我想启动 BASH shell 脚本,但我的计算机在 Windows 7(64 位)上运行。有没有一种无需更改操作系统即可下载 UNIX 的方法。我该如何去下载 UNIX。谢谢

0 投票
1 回答
1378 浏览

php - 计算 NULL 列时的 FreeTDS 无效游标状态

我在运行COUNT()对包含 NULL 值的字段使用该函数的查询时遇到问题。

我正在将 FreeTDS v0.91 与 unixODBC、PHP 5.3.10 和 SQL Server 2008 一起使用。我有使用 7.2 协议的连接。我正在尝试运行以下查询:

仅当 Membership 中的每个 ProductCode 为空时,此查询才会引发错误。当我直接在 SQL Server 上运行它时,它会评估它应该如何(到 0)。

当我尝试从 FreeTDS 运行此查询时,我收到此错误:

SQLSTATE[24000]:无效游标状态:0 [FreeTDS][SQL Server]无效游标状态(SQLFetchScroll[0] at /builddir/build/BUILD/php-5.3.10/ext/pdo_odbc/odbc_stmt.c:537)

有谁知道为什么我会收到这个错误?我记得当我尝试一次循环遍历两个结果集时遇到了类似的错误,但这是一个查询。

ProductCode. 它似乎只有在结果COUNT()为零时才会失败。

有谁知道可能导致此问题的原因或我该如何解决?

0 投票
1 回答
1078 浏览

php - 如何测试空记录集

我正在使用 PHP ODBC 库连接到 MSSQL 2008 服务器 ( http://php.net/manual/en/ref.uodbc.php )。

我的一些存储过程不返回记录集(例如,它们只是进行插入或更新)。我希望能够在这种情况下优雅地处理输出。在进行数据库调用后,输出被注入到一个数组中,该数组返回给应用程序进行处理。以下是代码的关键部分(不包括错误处理等):

如果$sql_result已成功执行,但不包含记录集(因为它会在插入或更新之后)然后odbc_fetch_array触发此警告:

警告:odbc_fetch_row():此结果索引处没有可用的元组

理想情况下,我想先测试$sql_result一下它是否包含空记录集,但我尝试过的每一次明显尝试总是会导致相同的警告消息。

任何人都有一种检查是否$sql_result为空的简洁方法?