- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图弄清楚这两个拼图在连接到 Linux 上的 MS-SQL 服务器时如何交互和组合在一起。
据我了解,FreeTDS 是用于与 MS-SQL 对话的协议(protocol)(即一组规则),它是真正进行对话的东西。 Unixodbc 是一个实现 ODBC API 的驱动程序,即实现了我猜的一组函数。
为什么这两件事都是必要的?谁能详细说明我对这两件事的实际作用的粗略理解?
最佳答案
unixODBC
是 ODBC 的“DriverManager”。您可以使用 unixODBC
在 Linux 或 *nix 系统上连接到任何支持 ODBC 的数据库时。这样做意味着您可以编写大量的数据库查询,您应该能够在不同的数据库之间使用这些查询。如果您不在 Unix 上,您将使用不同的驱动程序管理器,例如内置的 MS Office 驱动程序管理器。
为了使所有组件清晰:如果您使用一种语言,比如说 Python,来连接到 SQL Server,您的连接可能从 Python 的 pyodbc(将 python 对象与 unixODBC 相互转换)传递到 unixODBC(管理驱动程序,例如FreeTDS)到 FreeTDS(将 unixODBC 对象与 Microsoft 支持的 TDS 协议(protocol)相互转换)到 SQL Server。unixODBC
网站 http://www.unixodbc.org/说:
An ODBC application makes ODBC calls to the DriverManager. The DriverManager carries out a number of tasks for the application such as:
- ensuring the proper driver is loaded/unloaded
- validation tasks
- 3.5 to 3.0 to 2.0 call and data mapping
Most calls to the DriverManager get passed onto the loaded Driver to be further processed but that is of little concern to the application.
Some advantages to using an ODBC DriverManager include:
- portable data access code
- runtime binding to a Data Source
- ability to easily change the Data Source
ODBC accomplishes DBMS independence by using an ODBC driver as a translation layer between the application and the DBMS. The application uses ODBC functions through an ODBC driver manager with which it is linked, and the driver passes the query to the DBMS. An ODBC driver can be thought of as analogous to a printer driver or other driver, providing a standard set of functions for the application to use, and implementing DBMS-specific functionality. An application that can use ODBC is referred to as "ODBC-compliant". Any ODBC-compliant application can access any DBMS for which a driver is installed. Drivers exist for all major DBMSs, many other data sources like address book systems and Microsoft Excel, and even for text or CSV files.
关于freetds - FreeTDS 和 unixodbc 的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31980980/
我试图弄清楚这两个拼图在连接到 Linux 上的 MS-SQL 服务器时如何交互和组合在一起。 据我了解,FreeTDS 是用于与 MS-SQL 对话的协议(protocol)(即一组规则),它是真正
我正在尝试创建我的第一个图像,这是我从其他人那里 fork 出来的,但我遇到了构建失败的问题。看起来错误就在这里 [91mconfigure: error: Cannot find FreeTDS i
我实际上正在尝试通过依赖于 FreeTDS 的模块 pymssql 从 Python 连接到 Azure 上的 MS SQL Server。我只是无法让它发挥作用。我找到了命令行工具 tsql,它应该
我有一个问题,即使我在这些设置中设置为 8.0,FreeTDS 仍然使用 4.2 版进行连接 我可以使用 tsql 进行连接,当我使用 tsql 时,它显示它正在使用 7.1(来自 8.0 的别名),
我有两台相同的服务器(称为测试和生产),Linux Red Hat Enterprise Linux Server 6.2 版(圣地亚哥)、PHP 5.4.2 版、Apache Apache 2.4.
我正在尝试从 Ubuntu 14.04.4 服务器连接到在 Windows 10 上运行的 Pervasive Sql Server。 我正在使用以下服务尝试连接到服务器: FreeTDS unixO
我正在使用安装在 OS X Snow Leopard 上的 FreeTDS 0.82 连接到 SQL Server 2005 数据库。 当我尝试连接 tsql 时,我得到了这个: tsql -S ab
我有一个 C 程序通过 FreeTDS 连接到 MSSQL 数据库. 我正在尝试执行一个 varchar 参数设置为类似“Saída Liberada”的存储过程,但它在 MS SQL 中以奇怪的字符
SQL语句下面 SELECT getdate() go 当我从 SQL Server management studio 运行时,它给出了 "Jul 27 2016 22:00:00.860" 当我从
将应用程序移动到具有更新软件的新服务器后(从 php 5.2.17 -> 5.3.15、FreeTDS 0.64 -> 0.82 移动) SELECT GETDATE() 和任何其他日期时间函数/列产
我们正在为数据库运行带有 Microsoft SQL Server 的 Linux 服务器。除了 FreeTDS 之外,还有什么好的(最好是开源的)c 库可供我们使用吗? 谢谢 最佳答案 不是真的。
我有一个 UBUNTU LAMP 设置。安装了所有必要的扩展 php5-odbcphp5-mssqlFREETDSunixODBC 在 CLI 中,我使用 isql 测试了与数据库的连接。和 tsql
我正在尝试使用 FreeTDS 连接到 MSSQL 2005 服务器。 但我收到“用户登录失败”错误。在 FreeTDS manual 故障排除部分中有一个部分。但它没有提到任何与之相关的可能错误。我
freetds v0.91 - tds 版本不匹配 我想在 Ubuntu 14.04 上使用 FreeBSD 连接到 Windows SQL Server。 FreeTDS 是使用 apt-get 安
我正在迁移一个连接到外部 MSSQL 数据库的 PHP 网站。新服务器是 Linux 服务器。我知道要让它工作,我需要一个适用于 Linux 的 ODBC 驱动程序,如下所示: 免费TDS Micro
我正在使用 FreeTDS 0.91 连接到远程 MSSQL 服务器,但到目前为止所有尝试都没有结果。 在我的 Unix 上执行 tsql 命令时,出现以下错误: locale is "en_US
我决定使用 FreeTDS 驱动程序和 unixODBC 来管理我的基于 LAMP 的应用程序与远程 MsSQL 数据库之间的 PDO 连接。不幸的是,驱动程序似乎没有读取 freetds.conf
我在使用 DBI 和 FreeTDS(在 Ubuntu 上)将一些数据插入 SQL Azure 时遇到了 Perl 的间歇性问题。可能会出现问题,并且忽略了某些行,然后我可以再次运行它而不会出现问题。
我正在寻找分步指南,如何在 Heroku 上安装 freetds。我需要从 ruby 脚本访问 Sql Server,不幸的是,Cedar 不支持开箱即用的 tinytds gem。我已经阅读了互
我在 Centos 7 Linux 机器上尝试通过 pyodbc 连接到 SQL 数据库。我了解到您需要设置 DSN,您可以通过安装 freetds 驱动程序并执行以下操作来实现: import py
我是一名优秀的程序员,十分优秀!