laravel-oci8 icon indicating copy to clipboard operation
laravel-oci8 copied to clipboard

ORA-12514: TNS:listener does not currently know of service requested in connect descriptor

Open ghost opened this issue 7 years ago • 3 comments

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

ghost avatar Feb 02 '18 16:02 ghost

consider specifying DB_SERVICE_NAME

mstaack avatar Feb 07 '18 16:02 mstaack

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 avatar Feb 24 '19 09:02 MihaiDiac

@MihaiDiac where should i do this? I don't where is this

Jaylton avatar Sep 30 '21 18:09 Jaylton

This issue is stale because it has been open for 30 days with no activity.

github-actions[bot] avatar Nov 22 '22 03:11 github-actions[bot]

This issue was closed because it has been inactive for 7 days since being marked as stale.

github-actions[bot] avatar Nov 30 '22 02:11 github-actions[bot]