我收到以下错误 Yajra\Pdo\Oci8\Exceptions\Oci8Exception ORA-12505: TNS:listener 目前不知道连接描述符中给出的 SID
我想要的是能够将 Laravel 5.8.38 连接到 Oracle(远程),但我不确定如何使用服务名称进行设置
'connections' => [
'oracle' => [
'driver' => 'oracle',
'host' => '192.168.0.190',
'port' => '1521',
'database' => 'BDDESARR',
'service_name' => '???',
'username' => 'PAT_GUZ',
'password' => 'ujUYjjdk',
'charset' => '',
'prefix' => '',
],
按照 https://github.com/yajra/laravel-oci8/tree/5.8 逐步安装 Yajra
终端输出
PS C:\wamp64\www\desarrollo\php\laravel\miproyect> composer require yajra/laravel-oci8:"5.8.*"
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Nothing to install or update
Package jakub-onderka/php-console-color is abandoned, you should avoid using it. Use php-parallel-lint/php-console-color instead.
Package jakub-onderka/php-console-highlighter is abandoned, you should avoid using it. Use php-parallel-lint/php-console-highlighter instead.
Writing lock file
Generating optimized autoload files
文件 config/database.php
'default' => env('DB_CONNECTION', 'oracle'),
'connections' => [
'oracle' => [
'driver' => 'oracle',
'host' => '192.168.0.190',
'port' => '1521',
'database' => 'BDDESARR',
'service_name' => '???',
'username' => 'PAT_GUZ',
'password' => 'ujUYjjdk',
'charset' => '',
'prefix' => '',
],
其他信息,我编写了以下代码并且运行成功
<?php
$conn = oci_connect('PAT_GUZ', 'ujUYjjdk', '192.168.0.190/BDDESARR');
if (!$conn) {
$e = oci_error();
var_dump($e);
}
$stid = oci_parse($conn, 'SELECT * FROM MY_TABLE');
oci_execute($stid);
echo "<table border='1'>\n";
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
echo "<tr>\n";
foreach ($row as $item) {
echo " <td>" . ($item !== null ? htmlentities($item, ENT_QUOTES) : "") . "</td>\n";
}
echo "</tr>\n";
}
echo "</table>\n";
Laravel 5.8.38
PHP 7.3.12
Oracle:Oracle Database 11g 企业版版本 11.2.0.4.0 -
64 位制作Windows 10 64 位
Wamp64
最佳答案
我对 Laravel、Yajra 和你提到的其他东西一无所知,但是这个:
'database' => 'BDDESARR',
'service_name' => '???',
看起来如果没有错误,那么很可疑。 SQL Developer 连接建议Service name = 'bddesarr'
。我不知道“数据库”应该是什么。也许是 SID,因为 Oracle 提示 SID 不正确。
关于laravel - 错误 ORA-12505 : TNS:listener does not currently know of SID given in connect descriptor Laravel 5. 8 Yajra,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61374827/