问题标签 [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.
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 数据源定义是:
这个配置有什么问题?
database - 在 Linux 上为 Sybase 定位 libdbodbc.so
我正在尝试使用 UnixODBC 从 Web 服务器连接到 Sybase 数据库。Sybase 安装在 windows 服务器上,而 web 服务器安装在 Unix 服务器上。
为了连接到 Sybase,我正在使用 UnixODBC,它需要 Sybase 的文件 libdbodbc.so 我试图找到这个文件,但我无法在任何地方找到它。
任何人都可以告诉我在哪里可以找到它或可以帮助提供给我吗?
谢谢
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 字符串,但它会丢失正确的字符)。
python - Python - Linux - 使用 Windows 凭据连接到 MS SQL - FreeTDS+UnixODBC + pyodbc 或 pymssql
似乎没有任何很好的设置说明。有没有人有什么好的指示?我是一个 linux 菜鸟,所以要温柔。我确实看到了另一篇类似的帖子,但没有真正的答案。
我有几个问题。
FreeTDS“似乎”没有工作。我正在尝试连接,并使用“tsql”命令收到以下消息:“默认数据库被设置为 databaseName 连接到服务器时出现问题”,但没有提及问题所在。
尝试使用 pyodbc 连接时出现的错误是:“pyodbc.Error: ('08S01', '[08S01] [unixODBC][FreeTDS][SQL Server]Unable to connect: Adaptive Server 不可用或不存在 ( 20009) (SQLDriverConnectW)')"
我尝试使用 pymssql 进行类似的操作,但遇到了类似的问题。我不断收到无法连接的错误,但它没有告诉我原因。
sql-server - FREETDS 和 UNIXODBC 字符转换
我有一个错误要修复。它的:
当我使用土耳其语字符插入时,出现此错误。我的问题是如何禁用转换的东西?我通过 freetds 和 unixodbc 连接到 sql server。
谢谢..
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,没有任何弃用警告,一切似乎都很好,但显然是为了保持最新状态,有什么想法可能导致适配器发生变化吗?
python - sql server 函数原生参数绑定错误
我在 Ubuntu 10.04 Lucid LTS 上使用以下软件堆栈连接到数据库:
- python 2.6.5 (ubuntu 包)
- pyodbc git 主干提交
eb545758079a743b2e809e2e219c8848bc6256b2
- unixodbc 2.2.11 (ubuntu 包)
- freetds 0.82 (ubuntu 包)
- 带有 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))
- 此错误后连接变得非常不稳定,您无法恢复。
- 尝试绑定任何类型的数据时都会发生错误。
我怎样才能进一步追求这个?我想对函数参数进行本机绑定。
macos - 在 Mac 上使用 Azure SQL 服务?
Azure SQL 服务看起来很酷,我想将它用作托管数据库。我为自己设置了一个入门网络版数据库,在点击了一百万零五个 EULA 后,我进入了一个控制台并创建了一个数据库。它给了我一个用于 ODBC 和 ADO.NET 的连接字符串。
我正在使用带有 10.6 的 Mac。我有哪些选择?
理想情况下,我会找到与 ODBC 一起使用的 Sequel Pro 或 Querious 之类的东西。如果做不到这一点,是否有网络控制台或其他东西?
我想perl中总是有DBI::Shell。
有什么比在 VMWare 中安装 Windows 7/VS2010 更好的方法吗?
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
有人遇到过这种情况吗?任何帮助,将不胜感激。
python - 使用 Pyodbc + UnixODBC + FreeTDS 设置连接设置
我有一个使用 Pyodbc、UnixODBC 和 FreeTDS 的设置,但是在某个地方设置了一些选项,我不知道在哪里。根据 SQL Server Management Studio,我的程序在打开连接时会发送一些设置:
但我需要一组不同的设置:
有什么办法可以改变这个吗?如果我不能用我当前的设置来做到这一点,我是否可以在 Python 中使用任何其他库来让我改变它(最好使用 Python 数据库 API)?
更改数据库中的设置不是一个选项,因为我有很多其他项目使用我当前的设置。
解决了:
马克的回答是正确的,但我无法让它与 FreeTDS/UnixODBC 一起使用。将该信息添加到我的 odbc.ini 文件中效果很好: