我想通过encryption的连接从PHP连接到Microsoft SQL Server。
PHP脚本将从CentOS版本6.7(最终)
我想连接到在Microsoft Windows Server 2012 rc2上运行的Microsoft SQL Server 2014
理想情况下,连接将通过freeTDS 0.91和unixODBC 2.2.14完成
我的问题是:
谢谢你的帮助!
这是不可能的。 但是,有一些人会说相反的话。
根据我的经验,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和其他环境….