Thinkphp6使用pdo_odbc连接SQL Server2000
最近做一个项目,采用了Thinkphp6框架,因为要支持调用dll动态库,使用了php7.4的ffi新功能(见文章:《php7.4使用FFI连接C语言的动态库》),但是项目连接的数据库是SQL Server2000,这是一个很老的项目,所以使用了这个版本的数据库(就目前来说我也喜欢SQL Server2000,下载了一个绿色版解压缩运行后整个目录才137MB)。
然而在php里怎么连接这个数据库呢?Thinkphp6内置了Sqlsrv的支持,只要配置config目录里的database.php即可。但是我最开始采用的是pdo调用php_sqlsrv_74_ts_x86和php_pdo_sqlsrv_74_ts_x86,这种方式太新了,还需要安装一个ODBC驱动,可是这个驱动最低版本是11,11版也只能支持SQL Server2005版以及更新版本,并不支持SQL Server2000.
后来继续各种百度,发现用pdo_odbc连接数据库,就可以避免安装这个驱动了,因为odbc可以指定我采用哪个odbc驱动,而我的电脑里默认就安装了odbc,运行里输入odbcad32回车,就看到如下画面:
可以看到自带的驱动名称为SQL Server,那么database.php里的connections数组增加一个配置:
'sqlserver' => ['type' => 'sqlsrv','dsn' => 'odbc:Driver={SQL Server};Server=127.0.0.1,7788;Database=data_db','username' => 'xxxx','password' => 'xxxx',],
启用php.ini里的extension=pdo_odbc(注意低版本的php可能配置写成了extension=php_pdo_odbc.dll,检查php的ext目录的确有这个文件,如果是linux,可以安装这个扩展)。
重启apache,按照Thinkphp的规则写代码,即可访问:
<?php
namespace app\model;class Test extends \think\Model
{protected $connection = 'sqlserver';}//如下可以获取,代码自己组织:
function UTF8($gbkString) {return iconv('GB18030', 'UTF-8', $gbkString);
}
try {$rows = \app\model\Test::select()->toArray();foreach ($rows as $key => $row) {echo UTF8($row['name']) . ' ';}
} catch (\Exception $e) {return UTF8($e->getMessage());
}
Thinkphp6使用pdo_odbc连接SQL Server2000相关推荐
- java sqlserver2000_用Java连接SQL Server2000数据库
用Java连接SQL Server2000数据库有多种方法,下面介绍其中最常用的两种(通过JDBC驱动连接数据库).以及连接池.[@more@] 用Java连接SQL Server2000数据库有多种 ...
- 无法连接到远程的SQL SERVER2000
1.先保证ping通 2.在dos下写入telnet ip 1433不会报错 3.用ip连如企业管理器: 企业管理器-->右键S ...
- Vista SP1、IIS7,安装ASP.Net 1.1、VS2003、NetAdvantage 2004vol、Sql Server2000全攻略
对于微软的软件,一向认为是:beta版惨不忍睹,rtm版马马虎虎,sp1版.所以,现在Vista SP1出来了,我也考虑更换操作系统了.经过一番google,唯一的问题应该就在于ASP.Net 1.1 ...
- java 连接sql_java 连接sql server2008数据库配置
1.首先要去Microsoft官网下载sqljdbc2.0驱动--Microsoft SQL Server JDBC Driver 2.0.exe,很小大概就4M,解压后里面有2个Jar包,sqljd ...
- JAVA连接SQL server
2019独角兽企业重金招聘Python工程师标准>>> 大学时的笔记.整理一下,sql server是大学课程里的教学数据库,所以之前一直都在用java连接sql Server 对于 ...
- windows xp下如何安装SQL server2000企业版
[转自] http://www.xici.net/u15162693/d80638995.htm windows xp下如何安装SQL server2000企业版 SQL2000企业版本适用于WIN ...
- 搭建WAMP5环境,连接SQL Server2005数据库问题汇总
经过两周的测试.修改,终于将网上药品采购系统从公司内部OA系统中独立出来,用WAMP5重新搭建了PHP网上药品采购系统.现将遇到的问题汇总如下: 1.数据库连接失败的问题,提示 Fatal error ...
- Excel2003配置为SQL Server2000的【链接服务器】
Excel2003配置为SQL Server2000的[链接服务器] 现在进行的工作是用vb和sql server2000管理公司的仓库.今天接到一张xsl的库存表,记录量非常大.首先的是用sql s ...
- SQL Server2000打开1433端口
这篇文章主要针对Win2003系统安装SQL Sever2000后1433端口未开放,如何打开1433端口的解决方法. 用了几年的Windows2003和SQL Server2000了,不过这个问题倒 ...
最新文章
- iphone照片永久删除怎么恢复_怎么恢复删除的照片?专业数据恢复软件轻松搞定...
- 笔试分享 | 带你解读校招人工智能笔试题
- DL之DNN优化技术:神经网络算法简介之GD/SGD算法的简介、代码实现、代码调参之详细攻略
- matlab上位机串口通信,MATLAB GUIDE 上位机串口通信开发 绘制图形
- FTP连接时出现“227 Entering Passive Mode”的解决方法
- 前n个正整数相乘的时间复杂度为_初一数学上期末|21个考点全面讲解,收藏了复习一遍,期末高分不愁!...
- [原] 求薪水第三高的雇员的SQL题(图解)
- centos 安装LibreOffice word转PDF导出
- 自动与时间服务器时间同步,Windows系统时间同步(附时间同步服务器地址)
- linux 脚本加密工具下载,linux truecrypt 加密工具
- python求幂集_求幂集的算法 - Sethylar的个人页面 - OSCHINA - 中文开源技术交流社区...
- RAID磁盘阵列与配置(详细)
- java源程序的文件名必须与,Java源程序的文件名一定要与文件中某个类的名称一致。()...
- 【JavaWeb】最详细的小白笔记!!!
- 【小资生活】话剧——无人生还
- ffmpeg录制视频时添加时间水印
- layui后台管理首页配置
- Android设备使用libusb和usb声卡
- 卡尔曼滤波与组合导航原理_图解卡尔曼滤波器,无需深厚的数学知识也易懂(第五部分:多维卡尔曼滤波器)...
- boonton 功率测试软件,教你使用功率计及功率分析仪测试
热门文章
- sysbios挂钩函数使用_使用动作挂钩自定义WordPress主题
- 产品健康度模型(4) 打分I
- 归因分析计算因子贡献度常见的方法
- 超级记忆法(5)——第三小时
- 【快乐手撕LeetCode题解系列】——消失的数字
- SIGIR2020|基于自注意力机制和多鉴别器的序列推荐
- 【雨滴降落的速度是每秒10米】
- [WinForm]写一个小程序把指定目录的程序添加到开机自动启动(无法绕过360检查)
- Rule of lawlessness 南非法治之战 | 经济学人中英双语对照精读笔记
- C++的Json解析库:jsoncpp