Centos,PHP通过freeTDS / ODBCencryption连接到Microsoft SQL Server

我想通过encryption的连接PHP连接到Microsoft SQL Server。

PHP脚本将从CentOS版本6.7(最终)

我想连接到在Microsoft Windows Server 2012 rc2上运行的Microsoft SQL Server 2014

理想情况下,连接将通过freeTDS 0.91unixODBC 2.2.14完成

我的问题是:

  1. 这是可能的吗?
  2. 如何设置/etc/freetds/freetds.conf/etc/odbc.ini来build立到SQL Server的encryption连接
  3. 我应该也configurationPHP的ODBC使用情况?

谢谢你的帮助!

这是不可能的。 但是,有一些人会说相反的话。

根据我的经验,FreeTDS驱动程序是不可靠的,不能用于关键任务生产,甚至任何生产。 你看,FreeTDS最初是一个Sybase驱动程序。

Sybase和Microsoft SQL服务器有着共同的起源,但很久以前( 它们在1996年分裂 )。 不幸的是,FreeTDS从那时起一直没有改变,但是MSSQL API已经变化很大。 所以,根据我的经验,简单的SQL查询可能会起作用,但是当涉及到复杂的SQL查询或存储过程调用时,您将收到错误。

自2013年以来,微软已经发布了一个本地的Linux ODBC驱动程序 ,但是它们被称为厌恶非Windows环境,所以它的版本仍然是1.0,afaik。 但值得尝试。

我build议你避免在FreeTDS上浪费时间。 就我个人而言,我已经看到了几个PHP和Perl应用程序连接到现代SQL Server版本,并成功地工作,但首先 – 你永远不知道; 其次 – 我宁愿把这些当成某种偶然的运气。

你被警告,但你总是可以尝试自己。

FreeTDS 可能能够连接到一个现代的SQL Server,这取决于该SQL Server的设置 – 但最新的安全function,数据types和其他function将不可用。 通常,这些连接依赖于TDS v7.0的退步,该function在SQL Server v7中很久以前就已经出现了 – 早在SQL Server 2014 a / k / a v12之前,并且在连接encryption被认为是混合的一部分之前。

OpenLink Software(我的雇主)为SQL Server提供了商业化的ODBC解决scheme , 支持这些新的安全function(包括客户强制encryption的连接),数据types和其他function,使得PHP,Python和其他客户端工具能够从CentOS和其他Linux,以及Windows,OS X,AIX,HP-UX,Solaris和其他环境….