博客
关于我
linux centos6.4 php连接sql server2008
阅读量:789 次
发布时间:2023-01-31

本文共 2102 字,大约阅读时间需要 7 分钟。

FreeTDS驱动安装及SQL Server连接配置指南

在我们开发过程中,可能需要连接到Microsoft SQL Server数据库。为了实现这一点,FreeTDS是一个流行的开源驱动,可以帮助我们在Linux系统中实现对MS SQL Server的连接。本文将详细介绍如何安装并配置FreeTDS驱动,并分享一些测试方法。

1. 安装FreeTDS驱动

最开始,我们需要安装FreeTDS驱动。可以通过以下两种方式完成:通过YUM包管理器安装,或手动下载并编译安装。我会选择第一种方法,因为这更适合大多数Linux系统。

首先,打开终端或SSH窗口,运行以下命令安装必要的软件包和驱动:

sudo yum search freetdssudo yum install freetds php-mssql

或者,如果你需要特定的编译选项,可以考虑下载源代码并进行手动安装。此外,安装完成后,不要忘记设置PHP的sqlso_ctype配置,确保字符集兼容。

2. 配置FreeTDS配置文件

接下来,我们需要配置FreeTDS的配置文件/etc/freetds.conf。默认情况下,这个文件可能已经存在,但我们需要确保内容是正确的。

在配置文件中,添加或修改以下内容:

[server2008]host = 192.168.70.119port = 1433tds version = 7.0client charset = utf8

注意事项

  • 在配置文件中,我们假定服务器名称为server2008,IP地址为192.168.70.119,端口为1433。请根据实际环境调整这些值。
  • 确保FreeTDS版本与SQL Server兼容。这里使用了tds version = 7.0,适用于大多数现代SQL Server版本。
  • 如果数据库使用UTF-8编码,可以将client charset设置为utf8。如果需要不同的字符集,默认值defaultcharset会生效。

配置完成后,建议运行以下命令重启Apache或其他使用FreeTDS的服务。重启步骤可能因系统而异,默认情况下可以运行以下命令:

sudo systemctl restart apache

3. 测试连接

为了确认FreeTDS驱动和配置是否正常工作,我们可以使用命令行工具tsql测试连接。

运行以下命令:

./tsql -S 192.168.0.109 -U 用户名 -P 密码 -D 数据库
  • SP选项分别指定了服务器地址和端口。
  • U选项是SQL Server用户ID。
  • P选项是用户密码。
  • D选项是要连接到的数据库名称。

成功连接将显示类似以下输出:

1>connected to server 192.168.0.109 (SQL Server Database Engine)

如果你还没有看到提示信息,可以尝试以下命令查看详细日志:

./tsql -S 192.168.0.109 -U 用户名 -P 密码 -D 数据库 -v

4. 使用PHP测试连接

在编写PHP代码时,可以采用以下方式测试是否能正确连接到SQL Server数据库。我们将使用php_mssql扩展(mssql_connect函数)。

$server = 'server2008';$link = mssql_connect($server, 'sa', '123456');if (!$link) {    die('连接到SQL Server时发生错误,可能是以下原因:');}

连接成功后,你可以执行SQL查询。此外,如果你使用PHP的PDO扩展,也可以根据以下代码测试:

$db = new PDO("dblib:host=192.168.70.119;dbname=master","sa","123456");$sql = "select top 3 *  from spt_values";$res = $db->query($sql);while ($row = $res->fetch()) {    print_r($row);}$res = null;$db = null;

测试结果

运行上述PHP脚本后,你会看到如下输出:

Array(    [name] => jiqing    [0] => jiqing    [number] => 1    [1] => 1    [type] => A    [2] => A    [low] =>     [3] =>     [high] =>     [4] =>     [status] => 0    [5] => 0)...

如果你看到类似输出,说明连接成功。

总结

通过以上步骤,你已经成功安装并配置了FreeTDS驱动,并测试了PHP代码的连接能力。如果有任何问题,请检查:

  • Father server是否正确配置
  • SQL Server用户权限是否正确
  • 数据库是否存在
  • PHP扩展是否正确加载

希望以上内容能帮助你顺利连接并使用SQL Server!

转载地址:http://qfwfk.baihongyu.com/

你可能感兴趣的文章
leetcode题解118-杨辉三角
查看>>
leetcode题解136-只出现一次的数字
查看>>
leetcode题解14-最长公共前缀
查看>>
leetcode题解151-翻转字符串里的单词
查看>>
leetcode题解153-寻找旋转排序数组的最小值
查看>>
leetcode题解167-两数之和 II - 输入有序数组
查看>>
leetcode题解172-阶乘后的零
查看>>
leetcode题解173-二叉搜索树迭代器
查看>>
leetcode题解189-旋转数组
查看>>
leetcode题解191-位1的个数
查看>>
leetcode题解20-有效的括号
查看>>
leetcode题解200-岛屿数量
查看>>
leetcode题解206-反转链表
查看>>
leetcode题解227-基本计算器 II
查看>>
leetcode题解236-二叉树的最近公共祖先
查看>>
leetcode题解25-K个一组翻转链表
查看>>
leetcode题解279-完全平方数
查看>>
leetcode题解3-无重复字符的最长子串
查看>>
leetcode题解34-在排序数组中查找元素的第一个和最后一个位置
查看>>
leetcode题解347-前 K 个高频元素
查看>>