I am having troubles connecting to oracle express db. When i am trying to connect to the database i get the following error:
>> conn = database('test_db','','zxcv','Vendor','Oracle',...
'DriverType','oci','Server','remotehost','PortNumber',
1234)
Error using database (line 309)
Java exception occurred:
java.lang.UnsatisfiedLinkError: no ocijdbc11 in
java.library.path

10 Kommentare

Rodrigo
Rodrigo am 11 Jul. 2014
Paul try this:
conn = database('XE','SYSTEM','password','oracle.jdbc.driver.OracleDriver',jdbc:oracle:thin:@LOCALHOST:1521:XE');
password is the password when you install Oracle XE
RML!
Paul
Paul am 11 Jul. 2014
Bearbeitet: Paul am 11 Jul. 2014
thanks for the answer. when i enter this command with my password it gives me the following output
Undefined function or variable 'jdbc'.
Additionally when i check upon the variable "conn" it says:
Error de E/S: The Network Adapter could not establish the connection
When I try to establish the connection via the application i get the following error which would explain the jdbc error before mentioned.
Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: no ocijdbc11 in java.library.path
Rodrigo
Rodrigo am 11 Jul. 2014
I think that is a sintaxis error...
conn = database('XE','SYSTEM','password','oracle.jdbc.driver.OracleDriver',jdbc:oracle:thin:@localhost:1521:XE);
note now without de ' character at the end of XE
Rodrigo
Rodrigo am 11 Jul. 2014
Bearbeitet: Rodrigo am 11 Jul. 2014
do you check the connection with Oracle XE with other app? for example SQL Developer.
Paul
Paul am 11 Jul. 2014
yeah i checked the connection with SQL developer and it worked just fine. I will try your other point you mentioned there.
Paul
Paul am 11 Jul. 2014
conn = database('XE','SYSTEM','password','oracle.jdbc.driver.OracleDriver','jdbc:oracle:thin:@localhost:1521:XE');
it worked now with the "'" before the jdbc... and after the XE as well "'" as indicated above. The output tells me this
conn =
Instance: 'XE'
UserName: 'SYSTEM'
Driver: 'oracle.jdbc.driver.OracleDriver'
URL: 'jdbc:oracle:thin:@localhost:1521:XE'
Constructor: [1x1 com.mathworks.toolbox.database.databaseConnect]
Message: []
Handle: [1x1 oracle.jdbc.driver.T4CConnection]
TimeOut: 0
AutoCommit: 'on'
Type: 'Database Object'
does this mean i am connected to the database?
Rodrigo
Rodrigo am 11 Jul. 2014
yes,
Creates an example table with sql developer populate and query it from Matlab.
Paul
Paul am 11 Jul. 2014
exellent, thanks a bunch
Rodrigo
Rodrigo am 11 Jul. 2014
Bearbeitet: Rodrigo am 11 Jul. 2014
you're welcome... So, i'm Rodrigo Muñoz!!! See you my friend!
Paul
Paul am 11 Jul. 2014
nice!

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Sruthi Ayloo
Sruthi Ayloo am 10 Jul. 2014

0 Stimmen

The usage of database function is as follows:
conn = database('databasename','username','password','oracle.jdbc.driver.OracleDriver',jdbc:oracle:thin:@IP_ADDRESS_OF_DATABASE_SERVER:1521:databasename');
In the Query Builder, the database 'Name' should be the same as the suffix after the port number in the database 'URL', that is, the 'databasename' must be same as the SID parameter at the end of the 'databaseurl'. In your code, the instance parameter should be “dbname”.

1 Kommentar

Paul
Paul am 10 Jul. 2014
First of all, thank you very much for the quick reply Sruthi, I do not know the database name neither the password and i never created one. I only know that i created a password for oracle express database during the installation.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (4)

Sruthi Ayloo
Sruthi Ayloo am 9 Jul. 2014

0 Stimmen

The Oracle DLL that the Database drivers need could not be detected in MATLAB. Add the location of the Oracle DLLs path to the following file and restart MATLAB.
$MATLAB/toolbox/local/javalibrarypath.txt.
Paul
Paul am 9 Jul. 2014

0 Stimmen

i followed your procedure as well as the procedure of mathworks step 3 but the error persists and i dont know why, i even added the .dll file manually in matlab.
my javalibrarypath.txt contains these elements in my case:
C:\oraclexe\app\oracle\product\11.2.0\server\oci\lib C:\oraclexe\app\oracle\product\11.2.0\server\bin\ocijdbc11.dll
Paul
Paul am 10 Jul. 2014

0 Stimmen

I tried a different connection command now which gives me more details concerning the error. This is how i connect:
conn = database('','username','pwd',...
'Vendor','Oracle',...
'URL',['jdbc:oracle:thin:@(DESCRIPTION = ' ...
'(ADDRESS = (PROTOCOL = TCP)(HOST = sname)' ...
'(PORT = 123456)) (CONNECT_DATA = ' ...
'(SERVER = DEDICATED) (SERVICE_NAME = dbname) ) )']);
nothing shows up afterwards the command, but when i have a look at the variable "conn" it indicates the following
val =
Instance: ''
UserName: 'username'
Driver: []
URL: []
Constructor: [1x1 com.mathworks.toolbox.database.databaseConnect]
Message: 'Error de E/S: The Network Adapter could not establish the connection'
Handle: 0
TimeOut: 5
AutoCommit: 'off'
Type: 'Database Object'
Any suggestions?
Paul
Paul am 11 Jul. 2014

0 Stimmen

Question was answered by Rodrigo

Produkte

Gefragt:

am 8 Jul. 2014

Kommentiert:

am 11 Jul. 2014

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by