我在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
对我做错什么有帮助吗?
您确定数据库正在运行吗?您可以通过sqlplus检查它,例如:
sqlplus用户:password @ mysql:3306 / pivot