如何使用 ODBC 和 PHP 8.1 将 Laravel 10 连接到远程 SQL Server 2000?

问题描述 投票:0回答:0

我正在使用 Laravel 10 开发一个 Web 项目,这需要我从远程 SQL Server 2000 获取数据。为了模拟这个,我在 VirtualBox 上安装了 WinXP 和 SQL Server 2000。我正在使用 Windows 10 最新版本。我无法将 SQL Server 升级到更新版本,因为我客户的主要应用程序依赖于该版本。在我尝试了所有方法之后,我仍然收到此错误:

SQLSTATE[IMSSP]: This extension requires the Microsoft ODBC Driver for SQL Server to communicate with SQL Server. Access the following URL to download the ODBC Driver for SQL Server for x64: https://go.microsoft.com/fwlink/?LinkId=163712

I'm using PHP 8.1 according to Laravel requirements

I have installed pdo_sqlsrv and sqlsrv extensions

extension=sqlsrv_81_ts_x64
extension=pdo_sqlsrv_81_ts_x64

pdo_sqlsrv in phpinfo()

sqlsrv in phpinfo()

I have already added the DSN on ODBC Data Source Administrator (XP-SP3)

Tests completed successfully

CMIIW,但根据我读过的文章,Windows 10 最新版本预装了 ODBC 驱动程序版本 10,这是 SQL Server 2000 唯一支持的 ODBC 驱动程序。因此,我没有安装任何更新版本。

这是我用于 Laravel 项目的数据库配置。 DB_HOST 和 DB_PORT 是正确的,因为我已经使用 ODBC 数据源管理器测试了连接

'sqlsrv' => [
            'driver' => 'sqlsrv',
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '1433'),
            'database' => env('DB_DATABASE', 'forge'),
            'username' => env('DB_USERNAME', 'forge'),
            'password' => env('DB_PASSWORD', ''),
            'charset' => 'utf8',
            'prefix' => '',
            'prefix_indexes' => true,
            'search_path' => 'public',
        ],

我希望 Laravel 能够连接到我的 VirtualBox XP SQL Server 2000,并使我能够从表中获取数据。在这一点上,即使它起作用了,我也不确定是哪一步让它起作用。

或者我应该降级 Laravel 版本?哪个 Laravel 版本以最少的设置支持这种连接?我应该安装另一个 ODBC 驱动程序版本吗?如果是,是哪个版本?

任何信息将不胜感激。

odbc sql-server-2000 php-8.1 laravel-10
© www.soinside.com 2019 - 2024. All rights reserved.