Symfony连接到oracle oci8

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

我在Symfony上,无法连接到Oracle数据库,但我不知道为什么。也许您可以帮我一下。

这里是我的教义。yaml

doctrine:
dbal:
    default_connection: default
    connections:
        default:
            # configure these for your database server
            url: '%env(DATABASE_URL)%'
            server_version: '5.7'
            charset: utf8mb4
        test:
            # configure these for your database server
            url: '%env(DATABASE_TEST_URL)%'
            driver: 'oci8'
            server_version: ~
            charset: utf8mb4


orm:
    default_entity_manager: default
    entity_managers:
        default:
            connection: default
            naming_strategy: doctrine.orm.naming_strategy.underscore
            auto_mapping: true
            mappings:
                App:
                    is_bundle: false
                    type: annotation
                    dir: '%kernel.project_dir%/src/Entity'
                    prefix: 'App\Entity'
                    alias: App
        test:
            connection: test
            mappings:
                test:
                    is_bundle: false
                    type: annotation
                    dir: '%kernel.project_dir%/src/Entity/Test'
                    prefix: 'App\Entity\Test'
                    alias: Test

带有2个数据库的我的.env文件:

   DATABASE_URL=mysql://xxx:xxx@mysql:3306/pivot
   DATABASE_TEST_URL=//user:owd@host:port/dbname

还有我的控制器

public function xxx() {
 $entityManager = $this->getDoctrine()->getConnection('test');
        $sql = 'SELECT * FROM xxx.O2_ADRESSE WHERE ROWNUM = 1';
        $stmt = $entityManager->prepare($sql);
        $stmt->execute();

        dump($stmt->fetchAll());
}

我收到以下错误:

An exception occurred in driver: ORA-12505: TNS:listener does not currently know of SID given in connect descriptor

对我做错什么有帮助吗?

oracle symfony connect oci8
1个回答
0
投票

您确定数据库正在运行吗?您可以通过sqlplus检查它,例如:

sqlplus用户:password @ mysql:3306 / pivot

© www.soinside.com 2019 - 2024. All rights reserved.