Php 尝试使用odbc驱动程序将Laravel与DB2数据库连接

Php 尝试使用odbc驱动程序将Laravel与DB2数据库连接,php,laravel,db2,odbc,db2-400,Php,Laravel,Db2,Odbc,Db2 400,我在一个基于Laravel 5.2的项目中,我必须将它与IBM I系列服务器上托管的DB2数据库连接,我尝试了一些插件,但这一个似乎符合我的需要: 我按照安装步骤,填写database.php文件,创建了一个模型和一个控制器,但页面不断返回: Connector.php第55行出现异常:数据源名称无效 这是我的控制器: <?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Http\

我在一个基于Laravel 5.2的项目中,我必须将它与IBM I系列服务器上托管的DB2数据库连接,我尝试了一些插件,但这一个似乎符合我的需要:

我按照安装步骤,填写database.php文件,创建了一个模型和一个控制器,但页面不断返回:

Connector.php第55行出现异常:数据源名称无效

这是我的控制器:

<?php  

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Http\Requests;
use Illuminate\Support\Facades\DB;
use App\didactp1;

class didactitiel extends Controller  
{  
    public function recupererDidactitiels()
    {  
        $didactitiels = didactp1::all();  
        return view('didactitiel')->with('didactitiels', $didactitiels);  
    }  
}  
我尝试使用unixODBC手动连接到数据库:


我还尝试了$sudo iptables-L命令


希望这一点很清楚,欢迎提供各种帮助

DSN在PHP之外的工作站上工作吗?如果Ms Windows odbcad32是否连接到DSN?如果是Linux,isql是否与DSN一起工作?如果是Linux,它不工作(在(更新的)帖子中捕获)请在/etc/odbcinst.ini和/etc/odbcinst.ini文件中用谷歌搜索如何配置unixodbc与DSN。您需要一个odbc驱动程序来访问i系列(开源jt400或IBM i系列访问驱动程序(需要许可证))。这是配置(不是编程)。如果愿意,您也可以不使用DSN进行连接(DSN更少)。我正在努力安装odbc驱动程序,如果它能帮助您的话,我在两周前用php(本机)和jquery编写了一个程序,为了从使用odbc驱动程序的数据库中获取所需的信息(安装在程序所在的服务器上以及我在laravel中的实际项目所在的服务器上)进行sql查询,并且它工作正常(使用的dsn是“AS400”、用户“com11”和密码“pcs400”)。这就是为什么我认为问题来自于我没有正确配置插件,而不是dsn错误。您正在使用或试图安装哪个odbc驱动程序?什么版本?尝试安装时会出现什么错误?继续研究。dsn在PHP之外的工作站上工作吗?如果Ms Windows使用odbcad32 connect到DSN?如果是Linux,isql与DSN一起工作吗?对于Linux,它不工作(在(更新的)帖子中捕获)请用谷歌搜索如何在/etc/odbc.ini和/etc/odbcinst.ini文件中使用DSN配置unixodbc。访问i系列需要odbc驱动程序(开源jt400或IBM i系列访问驱动程序(需要许可证))。这是配置(不是编程)。如果愿意,您也可以不使用DSN进行连接(DSN较少)。我正在努力安装odbc驱动程序,如果它能帮助您,我在2周前用php(本机)和jquery编写了一个程序,并从使用odbc驱动程序的数据库中获取所需的信息(安装在程序所在的服务器上以及我在laravel中的实际项目所在的服务器上)进行sql查询,并且它工作正常(使用的dsn是“AS400”、用户“com11”和密码“pcs400”)。这就是为什么我认为问题来自于我没有正确配置插件,而不是dsn错误。您正在使用或尝试安装哪个odbc驱动程序?哪个版本?尝试安装时会出现什么错误?继续您的研究。
<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class didactp1 extends Model
{
    protected $connection = 'odbc';
}
'odbc' => [
            'driver'   => 'odbc',
            'dsn'      => 'AS400',
            'host'     => 'TheIpOfTheHostingServer',
            'database' => 'myDatabaseName',
            'username' => 'com11',
            'password' => 'pcs400',
        ],