首页 > 解决方案 > 错误“Yajra \ Pdo \ Oci8 \ Exceptions \ Oci8Exception ORA-24415:用户名丢失或为空。” 使用 Laravel5.6

问题描述

我无法连接到返回此错误的数据库。在应用程序中,我必须使用两个数据库,一个是 mysql(正在工作),另一个是 oracle。

系统信息:

归档 oracle.php

return [
'oracle' => [
    'driver'         => 'oracle',
    'tns'            => env('DB_TNS', '(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = dboraclescan-listener.intranet)(PORT = 1521))
                            (CONNECT_DATA =
                            (SERVER = DEDICATED)
                            (SERVICE_NAME = PROD)))'),
    'host'           => env('DB_HOST', 'dboraclescan-listener.intranet'),
    'port'           => env('DB_PORT', '1521'),
    'database'       => env('DB_DATABASE', ''),
    'username'       => env('DB_USERNAME', '****'),
    'password'       => env('DB_PASSWORD', '***'),
    'charset'        => env('DB_CHARSET', 'AL32UTF8'),
    'prefix'         => env('DB_PREFIX', ''),
    'prefix_schema'  => env('DB_SCHEMA_PREFIX', ''),
    'server_version' => env('DB_SERVER_VERSION', '11g'),
  ],
 ];

存档 database.php

'oracle' => [
        'driver'         => 'oracle',
        'tns'            => env('DB_TNS', '(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = dboraclescan-listener.intranet)(PORT = 1521))
                                (CONNECT_DATA =
                                (SERVER = DEDICATED)
                                (SERVICE_NAME = PROD)))'),
        'host'           => env('DB_HOST', 'dboraclescan-listener.intranet'),
        'port'           => env('DB_PORT', '1521'),
        'database'       => env('DB_DATABASE', 'PROD'),
        'username'       => env('DB_USERNAME', '***'),
        'password'       => env('DB_PASSWORD', '***'),
        'charset'        => env('DB_CHARSET', 'AL32UTF8'),
        'prefix'         => env('DB_PREFIX', 'ijrm'),
        'prefix_schema'  => env('DB_SCHEMA_PREFIX', ''),
        'server_version' => env('DB_SERVER_VERSION', '11g'),
    ],

我需要在其他地方进行一些配置吗?

标签: phporaclelaravel-5.6oci8

解决方案


感谢 Devon,我已经修改了 env 文件以将设置发送到 database.php 文件。

ORACLE_CONNECTION=oracle
ORACLE_HOST=dboraclescan-listener.intranet
ORACLE_PORT=1521
ORACLE_DATABASE=PROD
ORACLE_USERNAME=***
ORACLE_PASSWORD=***

存档 database.php

'oracle' => [
            'driver'         => 'oracle',
            'host'           => env('ORACLE_HOST', ''),
            'port'           => env('ORACLE_PORT', '1521'),
            'database'       => env('ORACLE_DATABASE', ''),
            'username'       => env('ORACLE_USERNAME', ''),
            'password'       => env('ORACLE_PASSWORD', ''),
            'charset'        => env('ORACLE_CHARSET', 'AL32UTF8'),
            'prefix'         => env('ORACLE_PREFIX', ''),
            'prefix_schema'  => env('ORACLE_SCHEMA_PREFIX', ''),
            'server_version' => env('ORACLE_SERVER_VERSION', '11g'),
        ],

推荐阅读