laravel-oci8
laravel-oci8 copied to clipboard
ORA-12514: TNS:listener does not currently know of service requested in connect descriptor
Summary of problem or feature request
Good morning, sorry for my english. I want to try connecting to a local Oracle server with Laravel. I use Homestead system. I have installed the oci8 drivers and i see in phpinfo():
| OCI8 Support | enabled |
|---|---|
| OCI8 DTrace Support | disabled |
| OCI8 Version | 2.1.8 |
| Revision | $Id: 8a26cf66ca0f9556b6376408c8f71ead69bdbcbf $ |
| Oracle Run-time Client Library Version | 12.2.0.1.0 |
| Oracle Compile-time Instant Client Version | 12.2 |
| Directive | Local Value | Master Value |
|---|---|---|
| oci8.connection_class | no value | no value |
| oci8.default_prefetch | 100 | 100 |
| oci8.events | Off | Off |
| oci8.max_persistent | -1 | -1 |
| oci8.old_oci_close_semantics | Off | Off |
| oci8.persistent_timeout | -1 | -1 |
| oci8.ping_interval | 60 | 60 |
| oci8.privileged_connect | Off | Off |
| oci8.statement_cache_size | 20 | 20 |
after, i have installed with composer yajra/laravel-oci8, then added the provider, and at last i have published. Then i have added into .env this code:
DB_CONNECTION=oracle
DB_TNS="(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.111)(PORT=1521))) (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=test_db)))"
DB_HOST=192.168.1.111
DB_PORT=1521
DB_DATABASE=test_db
DB_USERNAME=test_db
DB_PASSWORD=test_db
Code snippet of problem
The output is the follow:
Yajra\Pdo\Oci8\Exceptions\Oci8Exception thrown with message "ORA-12514: TNS:listener does not currently know of service requested in connect descriptor"
Stacktrace:
#67 Yajra\Pdo\Oci8\Exceptions\Oci8Exception in /home/vagrant/Code/cerere/vendor/yajra/laravel-pdo-via-oci8/src/Pdo/Oci8.php:464
#66 Yajra\Pdo\Oci8:connect in /home/vagrant/Code/cerere/vendor/yajra/laravel-pdo-via-oci8/src/Pdo/Oci8.php:78
#65 Yajra\Pdo\Oci8:__construct in /home/vagrant/Code/cerere/vendor/yajra/laravel-oci8/src/Oci8/Connectors/OracleConnector.php:204
#64 Yajra\Oci8\Connectors\OracleConnector:createConnection in /home/vagrant/Code/cerere/vendor/yajra/laravel-oci8/src/Oci8/Connectors/OracleConnector.php:35
#63 Yajra\Oci8\Connectors\OracleConnector:connect in /home/vagrant/Code/cerere/vendor/yajra/laravel-oci8/src/Oci8/Oci8ServiceProvider.php:49
#62 Yajra\Oci8\Oci8ServiceProvider:Yajra\Oci8\{closure} in /home/vagrant/Code/cerere/vendor/laravel/framework/src/Illuminate/Database/Connectors/ConnectionFactory.php:272
#61 Illuminate\Database\Connectors\ConnectionFactory:createConnection in /home/vagrant/Code/cerere/vendor/laravel/framework/src/Illuminate/Database/Connectors/ConnectionFactory.php:77
#60 Illuminate\Database\Connectors\ConnectionFactory:createSingleConnection in /home/vagrant/Code/cerere/vendor/laravel/framework/src/Illuminate/Database/Connectors/ConnectionFactory.php:51
#59 Illuminate\Database\Connectors\ConnectionFactory:make in /home/vagrant/Code/cerere/vendor/laravel/framework/src/Illuminate/Database/DatabaseManager.php:119
#58 Illuminate\Database\DatabaseManager:makeConnection in /home/vagrant/Code/cerere/vendor/laravel/framework/src/Illuminate/Database/DatabaseManager.php:74
#57 Illuminate\Database\DatabaseManager:connection in /home/vagrant/Code/cerere/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php:1131
#56 Illuminate\Database\Eloquent\Model:resolveConnection in /home/vagrant/Code/cerere/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php:1097
#55 Illuminate\Database\Eloquent\Model:getConnection in /home/vagrant/Code/cerere/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php:929
#54 Illuminate\Database\Eloquent\Model:newBaseQueryBuilder in /home/vagrant/Code/cerere/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php:873
#53 Illuminate\Database\Eloquent\Model:newQueryWithoutScopes in /home/vagrant/Code/cerere/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php:836
#52 Illuminate\Database\Eloquent\Model:newQuery in /home/vagrant/Code/cerere/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php:359
#51 Illuminate\Database\Eloquent\Model:all in /home/vagrant/Code/cerere/app/Http/Controllers/ClientController.php:17
#50 App\Http\Controllers\ClientController:index in /home/vagrant/Code/cerere/vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
#49 call_user_func_array in /home/vagrant/Code/cerere/vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
#48 Illuminate\Routing\Controller:callAction in /home/vagrant/Code/cerere/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:45
#47 Illuminate\Routing\ControllerDispatcher:dispatch in /home/vagrant/Code/cerere/vendor/laravel/framework/src/Illuminate/Routing/Route.php:212
#46 Illuminate\Routing\Route:runController in /home/vagrant/Code/cerere/vendor/laravel/framework/src/Illuminate/Routing/Route.php:169
#45 Illuminate\Routing\Route:run in /home/vagrant/Code/cerere/vendor/laravel/framework/src/Illuminate/Routing/Router.php:658
#44 Illuminate\Routing\Router:Illuminate\Routing\{closure} in /home/vagrant/Code/cerere/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:30
#43 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /home/vagrant/Code/cerere/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php:41
#42 Illuminate\Routing\Middleware\SubstituteBindings:handle in /home/vagrant/Code/cerere/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:149
#41 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /home/vagrant/Code/cerere/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53
#40 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /home/vagrant/Code/cerere/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:67
#39 Illuminate\Foundation\Http\Middleware\VerifyCsrfToken:handle in /home/vagrant/Code/cerere/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:149
#38 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /home/vagrant/Code/cerere/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53
#37 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /home/vagrant/Code/cerere/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49
#36 Illuminate\View\Middleware\ShareErrorsFromSession:handle in /home/vagrant/Code/cerere/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:149
#35 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /home/vagrant/Code/cerere/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53
#34 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /home/vagrant/Code/cerere/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:63
#33 Illuminate\Session\Middleware\StartSession:handle in /home/vagrant/Code/cerere/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:149
#32 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /home/vagrant/Code/cerere/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53
#31 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /home/vagrant/Code/cerere/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37
#30 Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse:handle in /home/vagrant/Code/cerere/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:149
#29 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /home/vagrant/Code/cerere/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53
#28 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /home/vagrant/Code/cerere/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:59
#27 Illuminate\Cookie\Middleware\EncryptCookies:handle in /home/vagrant/Code/cerere/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:149
#26 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /home/vagrant/Code/cerere/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53
#25 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /home/vagrant/Code/cerere/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:102
#24 Illuminate\Pipeline\Pipeline:then in /home/vagrant/Code/cerere/vendor/laravel/framework/src/Illuminate/Routing/Router.php:660
#23 Illuminate\Routing\Router:runRouteWithinStack in /home/vagrant/Code/cerere/vendor/laravel/framework/src/Illuminate/Routing/Router.php:635
#22 Illuminate\Routing\Router:runRoute in /home/vagrant/Code/cerere/vendor/laravel/framework/src/Illuminate/Routing/Router.php:601
#21 Illuminate\Routing\Router:dispatchToRoute in /home/vagrant/Code/cerere/vendor/laravel/framework/src/Illuminate/Routing/Router.php:590
#20 Illuminate\Routing\Router:dispatch in /home/vagrant/Code/cerere/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:176
#19 Illuminate\Foundation\Http\Kernel:Illuminate\Foundation\Http\{closure} in /home/vagrant/Code/cerere/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:30
#18 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /home/vagrant/Code/cerere/vendor/fideloper/proxy/src/TrustProxies.php:56
#17 Fideloper\Proxy\TrustProxies:handle in /home/vagrant/Code/cerere/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:149
#16 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /home/vagrant/Code/cerere/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53
#15 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /home/vagrant/Code/cerere/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php:30
#14 Illuminate\Foundation\Http\Middleware\TransformsRequest:handle in /home/vagrant/Code/cerere/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:149
#13 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /home/vagrant/Code/cerere/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53
#12 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /home/vagrant/Code/cerere/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php:30
#11 Illuminate\Foundation\Http\Middleware\TransformsRequest:handle in /home/vagrant/Code/cerere/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:149
#10 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /home/vagrant/Code/cerere/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53
#9 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /home/vagrant/Code/cerere/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php:27
#8 Illuminate\Foundation\Http\Middleware\ValidatePostSize:handle in /home/vagrant/Code/cerere/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:149
#7 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /home/vagrant/Code/cerere/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53
#6 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /home/vagrant/Code/cerere/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:46
#5 Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode:handle in /home/vagrant/Code/cerere/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:149
#4 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /home/vagrant/Code/cerere/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53
#3 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /home/vagrant/Code/cerere/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:102
#2 Illuminate\Pipeline\Pipeline:then in /home/vagrant/Code/cerere/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:151
#1 Illuminate\Foundation\Http\Kernel:sendRequestThroughRouter in /home/vagrant/Code/cerere/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:116
#0 Illuminate\Foundation\Http\Kernel:handle in /home/vagrant/Code/cerere/public/index.php:55
if i connect with standard connection i have no problem:
$conn = oci_connect('test_db', 'test_db', '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(Host = 192.168.1.111)(Port = 1521))
)
(CONNECT_DATA =
(SID = ORCL)
)
)');
Can you help me? best regards
System details
- Operating System: Vagrant Homestead 7.0.1
- PHP Version: 7.2
- Laravel Version: 5.5
- Laravel-OCI8 Version: 5.5.7
consider specifying DB_SERVICE_NAME
I had the same issue and I managed to fix it by replacing SERVICE_NAME with SID in the DB_TNS config.
So:
DB_TNS="(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.111)(PORT=1521))) (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=test_db)))"
Becomes:
DB_TNS="(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.111)(PORT=1521))) (CONNECT_DATA=(SERVER=DEDICATED)(SID=test_db)))"
@MihaiDiac where should i do this? I don't where is this
This issue is stale because it has been open for 30 days with no activity.
This issue was closed because it has been inactive for 7 days since being marked as stale.