我必须在DB2中使用Laravel 5.6。
我实际上不知道该怎么做。我找到了这个laravel软件包laravel-db2。我已经按照给定的指令配置了所有内容,但是无法连接到我的DB2。像这样的东西是错误的。
php artisan serve
In Connector.php line 68:
SQLSTATE[IM002] SQLDriverConnect: 0 [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
我已经在DB2上创建了一个数据库并添加了
php_odbc.dll | php.ini上的php_ibm_db2.dll 扩展名
我的配置
return [
'connections' => [
'ibmi' => [
'driver' => 'db2_expressc_odbc',
// or 'db2_ibmi_ibm' / 'db2_zos_odbc' / 'db2_expressc_odbc
'driverName' => '{IBM i Access ODBC Driver}',
// or '{iSeries Access ODBC Driver}' '{IBM i Access ODBC Driver 64-bit}'
'host' => env('DB_HOST', 'localhost'),
'username' => env('DB_USERNAME', ''),
'password' => env('DB_PASSWORD', ''),
//Server settings
'database' => env('DB_DATABASE', ''),
'prefix' => '',
'schema' => env('DB_SCHEME', ''),
'port' => env('DB_PORT', '60000'),
'date_format' => 'Y-m-d H:i:s',
'odbc_keywords' => [
'SIGNON' => 3,
'SSL' => 0,
'CommitMode' => 2,
'ConnectionType' => 0,
'DefaultLibraries' => '',
'Naming' => 0,
'UNICODESQL' => 0,
'DateFormat' => 5,
'DateSeperator' => 0,
'Decimal' => 0,
'TimeFormat' => 0,
'TimeSeparator' => 0,
'TimestampFormat' => 0,
'ConvertDateTimeToChar' => 0,
'BLOCKFETCH' => 1,
'BlockSizeKB' => 32,
'AllowDataCompression' => 1,
'CONCURRENCY' => 0,
'LAZYCLOSE' => 0,
'MaxFieldLength' => 15360,
'PREFETCH' => 0,
'QUERYTIMEOUT' => 1,
'DefaultPkgLibrary' => 'QGPL',
'DefaultPackage' => 'A /DEFAULT(IBM),2,0,1,0',
'ExtendedDynamic' => 0,
'QAQQINILibrary' => '',
'SQDIAGCODE' => '',
'LANGUAGEID' => 'ENU',
'SORTTABLE' => '',
'SortSequence' => 0,
'SORTWEIGHT' => 0,
'AllowUnsupportedChar' => 0,
'CCSID' => 819,
'GRAPHIC' => 0,
'ForceTranslation' => 0,
'ALLOWPROCCALLS' => 0,
'DB2SQLSTATES' => 0,
'DEBUG' => 0,
'TRUEAUTOCOMMIT' => 0,
'CATALOGOPTIONS' => 3,
'LibraryView' => 0,
'ODBCRemarks' => 0,
'SEARCHPATTERN' => 1,
'TranslationDLL' => '',
'TranslationOption' => 0,
'MAXTRACESIZE' => 0,
'MultipleTraceFiles' => 1,
'TRACE' => 0,
'TRACEFILENAME' => '',
'ExtendedColInfo' => 0,
],
'options' => [
PDO::ATTR_CASE => PDO::CASE_LOWER,
PDO::ATTR_PERSISTENT => false,
// PDO::I5_ATTR_DBC_SYS_NAMING => false,
// PDO::I5_ATTR_COMMIT => PDO::I5_TXN_NO_COMMIT,
// PDO::I5_ATTR_JOB_SORT => false,
// PDO::I5_ATTR_DBC_LIBL => '',
// PDO::I5_ATTR_DBC_CURLIB => '',
],
'toolkit' => [
'sbmjobParams' => 'ZENDPHP7/ZSVR_JOBD/XTOOLKIT',
'XMLServiceLib' => 'ZENDPHP7',
'debug' => false,
'debugLogFile' => storage_path('logs / toolkit_gigc . log'),
'InternalKey' => ' / tmp / ' . 'Toolkit_' . env('APP_ENV') . '_' . random_int(1, 10),
'stateless' => false,
'plugSize' => '512K',
'encoding' => "UTF-8",
'ccsidBefore' => "819/1147",
'ccsidAfter' => "1147/1208",
'useHex' => true
],
],
],
];
我的环境是laravel 5.6 WINDOWS 10 PHP7.1.26
请,我需要知道如何将Laravel 5.6与DB2连接。
谢谢