php - 在 Redhat 上使用 PDO 设置 SQL Server
问题描述
我目前正在创建一个 PHP 脚本,以将一些数据从 MySQL 服务器复制到 Microsoft SQL 服务器。我决定将 PHP 与 PDO 一起使用,因为我认为这将是一个非常快速的过程(著名的遗言)。
Mysql 方面已完成,但我完全停留在 MS SQL 方面,无法正确安装所有内容。我的工作脚本服务器安装了几个不同的驱动程序(freeTDS、Microsoft ODBC 驱动程序),我不确定如何在 PHP 中设置这个新的 MS SQL 服务器,尤其是使用 PDO 而不是 PHP 具有的直接 ODBC 函数。
工作服务器使用 PHP 5.3,这导致 perl 拒绝安装 sqlsrv/pdo_sqlsrv 的问题,因为服务器不运行 PHP 7.1 或更高版本。
我的主要问题是:
我应该使用哪个驱动程序在可与 PDO 一起使用的 redhat 服务器上设置 PHP 5.3 MSsql 驱动程序?
我的 PDO 连接字符串应该是什么样的?
这就是我现在所拥有的:
$connectString = "sqlsrv:server=$host;Database=$schema;charset=$charset";
- 真的有必要事先在 ODBC 驱动程序中定义服务器连接吗?
抱歉,我没有对此进行更多研究,似乎有很多方法可以在 PHP 中引入 MSsql,我不确定我的特定 PHP 版本应该走哪条路!
解决方案
我将它用于与 pdo 的 MSSQL 连接
$db = new PDO("sqlsrv:SERVER=$dbhost;DATABASE=$dbname", $dbuser, $dbpassword);
推荐阅读
- binding - SwiftUI - 关闭 NavigationLink 目标视图并更新主 NavigationView - EXC_BAD_ACCESS(代码=2
- powerapps - 用户需要什么权限才能创建和使用 powerapp?
- c++ - 获取资源管理器的项目视图标题的高度
- reactjs - 如何根据反应中的下拉值过滤引导表
- python - Discord.py,有什么方法可以编辑 webhook 发送的消息?
- php - 使用一个提交按钮对表单提交执行两个操作
- apigee - APIGEE 的 WebApp 代理
- python - Django: _meta.get_fields() : include_parents=False : 显示从继承派生的字段
- amazon-cloudformation - CloudFormation 用于多个参数文件和单个模板
- python - 用另一列替换列值