Linux下php连接SQLServer 2000数据库的配置方法

  • Post category:Linux

下面是详细的讲解“Linux下php连接SQLServer2000数据库的配置方法”的完整攻略。

1. 安装ODBC驱动程序

首先,需要安装ODBC驱动程序来连接SQLServer数据库。在Linux系统上,可以使用FreeTDS来实现ODBC驱动程序的安装和配置。在Ubuntu系统上,可以通过以下命令安装FreeTDS:

sudo apt-get install freetds-bin freetds-common freetds-dev

安装完成后,需要配置FreeTDS连接SQLServer并创建ODBC DSN。可以通过修改/etc/freetds/freetds.conf文件来实现连接配置。以下是一个示例配置:

[global]
tds version = 8.0

[SQLServer]
host = 192.168.1.100   # SQL Server的IP地址
port = 1433           # SQL Server的端口号
tds version = 8.0

2. 配置ODBC DSN

除了配置FreeTDS连接SQLServer,还需要创建ODBC DSN。可以通过修改/etc/odbcinst.ini/etc/odbc.ini文件来实现ODBC DSN的创建。以下是一个示例配置:

/etc/odbcinst.ini文件:

[FreeTDS]
Description = FreeTDS ODBC Driver
Driver = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
Setup = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
UsageCount = 1

/etc/odbc.ini文件:

[SQLServerDSN]
Driver = FreeTDS
Servername = SQLServer
Database = testdb    # SQL Server的数据库名称
TDS_Version = 8.0

3. 安装php-mssql扩展

PHP提供了mssql扩展来连接Microsoft SQL Server数据库。在Linux系统上,可以通过以下命令安装php-mssql扩展:

sudo apt-get install php5-mssql

4. 设置PHP配置文件

最后,在PHP配置文件中添加以下内容:

[mssql]
mssql.allow_persistent = On
mssql.max_persistent = -1
mssql.max_links = -1
mssql.min_error_severity = 10
mssql.min_message_severity = 10
mssql.compatability_mode = Off
mssql.secure_connection = Off

示例说明

示例一:

下面是一个基本的示例,展示如何连接并查询SQL Server数据库中的数据:

<?php
$conn = mssql_connect('SQLServerDSN', 'sa', 'password');
if (!$conn) {
    die('Could not connect to the SQL Server database: ' . mssql_get_last_message());
}

$db_selected = mssql_select_db('testdb', $conn);
if (!$db_selected) {
    die('Could not select the testdb database: ' . mssql_get_last_message());
}

$query = mssql_query("SELECT * FROM users");
while ($row = mssql_fetch_assoc($query)) {
    print_r($row);
}

mssql_close($conn);
?>

示例二:

下面是一个使用预编译语句的示例,可以更有效地查询数据:

<?php
$conn = mssql_connect('SQLServerDSN', 'sa', 'password');
if (!$conn) {
    die('Could not connect to the SQL Server database: ' . mssql_get_last_message());
}

$db_selected = mssql_select_db('testdb', $conn);
if (!$db_selected) {
    die('Could not select the testdb database: ' . mssql_get_last_message());
}

$stmt = mssql_init('SELECT * FROM users WHERE id = ?', $conn);
$id = 1;
mssql_bind($stmt, 1, $id, SQLINT1, false);
$query = mssql_execute($stmt);
while ($row = mssql_fetch_assoc($query)) {
    print_r($row);
}

mssql_free_statement($stmt);
mssql_close($conn);
?>

以上就是“Linux下php连接SQLServer2000数据库的配置方法”的完整攻略,希望对你有所帮助。