如何使用Laravel 9框架连接Progress 10.1B数据库?
Laravel 9 连接 Progress 10.1B 数据库实现方法
1. 准备依赖环境
- 安装PHP的ODBC扩展:
检查是否已安装:执行php -m | grep odbc,若无结果则安装对应包(Ubuntu用sudo apt install php-odbc,CentOS用sudo yum install php-odbc)。 - 安装Progress 10.1B兼容的ODBC驱动:
从Progress官方获取对应10.1B版本的ODBC驱动程序,安装后配置ODBC数据源(系统DSN或用户DSN),记录好DSN名称、数据库地址、端口、用户名和密码。
2. 配置Laravel数据库连接
在 config/database.php 的 connections 数组中添加Progress数据库配置:
'progress' => [ 'driver' => 'odbc', 'dsn' => 'ODBC:你的DSN名称', 'host' => '数据库主机地址', 'port' => '2030', // Progress默认端口,按需修改 'database' => '数据库名称', 'username' => '数据库用户名', 'password' => '数据库密码', 'options' => [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, // 若需指定字符集,添加对应配置,例如: // PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, ], ],
在 .env 文件中设置环境变量(可选,便于管理):
DB_CONNECTION=progress DB_DSN=ODBC:你的DSN名称 DB_HOST=数据库主机地址 DB_PORT=2030 DB_DATABASE=数据库名称 DB_USERNAME=数据库用户名 DB_PASSWORD=数据库密码
3. 测试数据库连接
创建测试路由验证连接是否成功,在 routes/web.php 中添加:
Route::get('/test-progress-connection', function () { try { DB::connection('progress')->getPdo(); return 'Progress 10.1B 数据库连接成功!'; } catch (\Exception $e) { return '连接失败:' . $e->getMessage(); } });
访问该路由地址,查看连接结果。
4. 关键注意事项
- 确保Progress数据库服务处于运行状态,且允许当前Laravel服务器的IP访问。
- ODBC驱动版本必须与Progress 10.1B严格兼容,避免版本不匹配导致的连接异常。
- 若遇到字符集乱码问题,需同步配置数据库字符集与Laravel的字符集设置,可在
options中添加对应PDO参数。
内容的提问来源于stack exchange,提问作者Luis Angel San Juan Cruz
相关产品推荐
相关产品推荐

