问题标签 [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 投票
1 回答
1994 浏览

php - CakePHP 和使用 Unixodbc 连接到 MS Access db

我正在尝试使用 CakePHP 应用程序中的 Acces (MDB) 数据库。在 Windows 机器上,这可以正常工作。在使用 Unixodbc 的 Linux 机器上,这根本不起作用。错误如下:

警告 (2): odbc_connect() [function.odbc-connect]: SQL 错误: [unixODBC][Driver anager]Data ource name not found, and no default driver specified, SQL state IM002 in SQLConnect [APP/vendors/adodb/驱动程序/adodb-odbc.inc.php,第 60 行]

CakePHP 数据源定义是:

这个配置有什么问题?

0 投票
2 回答
316 浏览

database - 在 Linux 上为 Sybase 定位 libdbodbc.so

我正在尝试使用 UnixODBC 从 Web 服务器连接到 Sybase 数据库。Sybase 安装在 windows 服务器上,而 web 服务器安装在 Unix 服务器上。

为了连接到 Sybase,我正在使用 UnixODBC,它需要 Sybase 的文件 libdbodbc.so 我试图找到这个文件,但我无法在任何地方找到它。

任何人都可以告诉我在哪里可以找到它或可以帮助提供给我吗?

谢谢

0 投票
3 回答
9907 浏览

php - PHP/ODBC 编码问题

我使用 ODBC 从 PHP 连接到 SQL Server。在 PHP 中,我从 SQL Server 读取了一些字符串(nvarchar 列)数据,然后想将其插入 mysql 数据库。当我尝试将这样的值插入 mysql 数据库表时,我得到了这个 mysql 错误:

对于所有 ASCII 字符的字符串,一切都很好,当存在非 ASCII 字符(来自某些欧洲语言)时,就会出现问题。

因此,更笼统地说:MS SQL Server 数据库中有一个 Unicode 字符串,由 PHP 通过 ODBC 检索。然后将其放入为 mysql 数据库执行的 sql 插入查询(作为 utf-8 varchar 列的值)中。

有人可以向我解释在这种情况下在编码方面发生了什么吗?在哪一步可能发生什么字符编码转换?

我使用:PHP 5.2.5、MySQL5.0.45-community-nt、MS Sql Server 2005。

PHP 必须在Linux平台上运行。

更新:当我在这个字符串上调用 utf8_encode($s) 并在 mysql 插入查询中使用该值时,错误不会发生,但是插入的字符串在 mysql 数据库中无法正确显示(因此 utf8 编码仅适用于执行正确的 utf8 字符串,但它会丢失正确的字符)。

0 投票
3 回答
4563 浏览

python - Python - Linux - 使用 Windows 凭据连接到 MS SQL - FreeTDS+UnixODBC + pyodbc 或 pymssql

似乎没有任何很好的设置说明。有没有人有什么好的指示?我是一个 linux 菜鸟,所以要温柔。我确实看到了另一篇类似的帖子,但没有真正的答案。

我有几个问题。

  1. FreeTDS“似乎”没有工作。我正在尝试连接,并使用“tsql”命令收到以下消息:“默认数据库被设置为 databaseName 连接到服务器时出现问题”,但没有提及问题所在。

    1. 尝试使用 pyodbc 连接时出现的错误是:“pyodbc.Error: ('08S01', '[08S01] [unixODBC][FreeTDS][SQL Server]Unable to connect: Adaptive Server 不可用或不存在 ( 20009) (SQLDriverConnectW)')"

    2. 我尝试使用 pymssql 进行类似的操作,但遇到了类似的问题。我不断收到无法连接的错误,但它没有告诉我原因。

0 投票
2 回答
7721 浏览

sql-server - FREETDS 和 UNIXODBC 字符转换

我有一个错误要修复。它的:

当我使用土耳其语字符插入时,出现此错误。我的问题是如何禁用转换的东西?我通过 freetds 和 unixodbc 连接到 sql server。

谢谢..

0 投票
2 回答
1039 浏览

ruby-on-rails - 将 activerecord-sqlserver-adapter 从 2.2.22 升级到 2.3.8,现在出现 ODBC 错误

我已经将 MSSQL 2005 与 Rails 一起使用了很长一段时间,并决定在我的一个项目中增加我的宝石并遇到问题。

我从 2.2.22 迁移到 2.3.8(截至写作的最新版本),突然间我得到了这个:

我正在使用与 FreeTDS 的 DSN 连接,我的database.yml外观如下所示:

现在,与此同时,我又回到了 2.2.22,没有任何弃用警告,一切似乎都很好,但显然是为了保持最新状态,有什么想法可能导致适配器发生变化吗?

0 投票
1 回答
1380 浏览

python - sql server 函数原生参数绑定错误

我在 Ubuntu 10.04 Lucid LTS 上使用以下软件堆栈连接到数据库:

  1. python 2.6.5 (ubuntu 包)
  2. pyodbc git 主干提交eb545758079a743b2e809e2e219c8848bc6256b2
  3. unixodbc 2.2.11 (ubuntu 包)
  4. freetds 0.82 (ubuntu 包)
  5. 带有 Microsoft SQL Server 2000 (8.0) 的 Windows

尝试在 SQL SERVER 函数的参数中执行本机参数绑定时出现此错误:

这是复制代码:

现在该函数已创建。如果我尝试在查询中直接使用值调用它(没有值的本机绑定),它可以正常工作:

但是,当我尝试进行本机绑定时(通过使用参数占位符并分别传递值),我得到了上面的错误:

进一步的调查揭示了一些我想联系的奇怪的东西:

  • 如果我将 TDS 版本更改为 4.2,一切正常(但是,来自 sql server 的版本报告是错误的——使用4.2我得到 的 TDS 版本'95.08.0255'而不是真实版本'08.00.0760')。
  • 其他两种类型的函数一切正常 -> 返回值的函数和只是 SELECT 查询(如视图)的函数都可以正常工作。您甚至可以定义一个新函数,该函数返回对另一个(损坏的)函数的查询结果,这样一切都会正常工作,即使在对参数进行本机绑定时也是如此。例如:CREATE FUNCTION fn_tempFunc(@testparam varchar(4)) RETURNS TABLE AS RETURN (SELECT * FROM fn_FuncTest(@testparam))
  • 此错误后连接变得非常不稳定,您无法恢复。
  • 尝试绑定任何类型的数据时都会发生错误。

我怎样才能进一步追求这个?我想对函数参数进行本机绑定。

0 投票
9 回答
16619 浏览

macos - 在 Mac 上使用 Azure SQL 服务?

Azure SQL 服务看起来很酷,我想将它用作托管数据库。我为自己设置了一个入门网络版数据库,在点击了一百万零五个 EULA 后,我进入了一个控制台并创建了一个数据库。它给了我一个用于 ODBC 和 ADO.NET 的连接字符串。

我正在使用带有 10.6 的 Mac。我有哪些选择?

理想情况下,我会找到与 ODBC 一起使用的 Sequel Pro 或 Querious 之类的东西。如果做不到这一点,是否有网络控制台或其他东西?

我想perl中总是有DBI::Shell。

有什么比在 VMWare 中安装 Windows 7/VS2010 更好的方法吗?

0 投票
1 回答
1009 浏览

mysql - Debian Lenny 上 unixODBC 的 MySQL 驱动程序问题

在 OpenSuse 11.2 上,我成功编译、链接并运行了以下代码,该代码使用 unixODBC 为 MySQL 数据库安装数据源:

在 Debian Lenny 上使用相同的代码,我遇到了问题。首先,我通过以下方式编译了这段代码:

一切顺利。但是当我尝试运行生成的二进制文件时,我收到了一个链接器错误,实际上通过键入 ldd main 确认了该错误:

尽管我以最简单的方式(即通过 aptitude)在我的主机 (Debian Lenny) 上正确安装了 unixODBC 和相关的 MySQL 驱动程序 (myodbc),但我找不到这个共享库。

我错误地认为,好吧,我将在 /usr/lib/odbc/libmyodbc.so 上创建一个符号链接。无论如何,现在我的程序返回以下消息:

所以我觉得文件 libmyodbc3_r-3.51.15.so 真的不见了。

注意:在 Debian Lenny 上,unixODBC 的版本是 2.2.11,MySQL 的版本是 5.0.51a

有人遇到过这种情况吗?任何帮助,将不胜感激。

0 投票
1 回答
2688 浏览

python - 使用 Pyodbc + UnixODBC + FreeTDS 设置连接设置

我有一个使用 Pyodbc、UnixODBC 和 FreeTDS 的设置,但是在某个地方设置了一些选项,我不知道在哪里。根据 SQL Server Management Studio,我的程序在打开连接时会发送一些设置:

但我需要一组不同的设置:

有什么办法可以改变这个吗?如果我不能用我当前的设置来做到这一点,我是否可以在 Python 中使用任何其他库来让我改变它(最好使用 Python 数据库 API)?

更改数据库中的设置不是一个选项,因为我有很多其他项目使用我当前的设置。

解决了:

马克的回答是正确的,但我无法让它与 FreeTDS/UnixODBC 一起使用。将该信息添加到我的 odbc.ini 文件中效果很好: