Good afternoon.
There is a problem.
Once I had an old Linux system 32 bits.
ORacle 11 client was configured on this system.
And one self-written (on lazarus) program was connected from this system to the Oracle server correctly.
We decided to set up a new 64-bit Linux system.
Everything is set up in the same way.
But when starting the program, more precisely when we access oracle through the program (to the server settings, login and password), an error popped up:
"TApplication.HandleException Cannot load OCI DLL: libclntsh.so".
I double-checked that this library exists and a symlink has been created for it.
glogin.sql
libclntshcore.so.18.1
libclntsh.so -> /usr/lib/oracle/18.5/client64/lib/libclntsh.so.18.1
libclntsh.so.18.1
libipc1.so
libmql1.so
libnnz18.so
libocci.so -> /usr/lib/oracle/18.5/client64/lib/libocci.so.18.1
libocci.so.18.1
libociei.so
libocijdbc18.so
libons.so
liboramysql18.so
libsqlplusic.so
libsqlplus.so
ojdbc8.jar
ottclasses.zip
xstreams.jar
From the command line connection to the oracle server occurs without errors.
I've searched a bunch of forums, followed their advice - it didn't help.
Can anyone suggest how to solve this puzzle?
I did it:
Remove all files ORACLE client (uninstall from linux)
Then download oracli client 11 32 bit (not 64 bit) in ZIP files
(32 bit *.RPM was not installed)
Unpack files on my FOLDER /opt/oracle/.....
Create links
Set home, path, tns_names..... and other
and it works - my 32 bits program is working in oracle 32 bit in linux 64 bit EFI.
Related
I've installed Sqldeveloper Version 19.1 64-bit Version on an enterprise PC with Win10-64bit.
It works fine with embedded jdbc-client, but I need to get it working using the Oracle OCI-client. One reason is the much better support to cancel long running queries.
Using an OCI-client (thick-driver) requires for sure a client like instantclient_12_2.
I have no admin privileges on my workstation and so copied the full instantclient_12_2 to the enterprise PC.
Since I'm not allowed to change the %PATH% myself, I created a start.bat file with required settings, because without, it also won't work (already tried).
PATH="C:\Users\myuser\OneDrive\Oracle\instantclient_12_2";%JAVA_HOME%;%PATH%
C:\Users\myuser\OneDrive\Oracle\sqldeveloper64\sqldeveloper.exe
When I try to configure another Oracle-Client without this change, I get another error, that PATH to instantclient needs to be defined before any others.
Now, starting sqldeveloper with this bat-file works fine. Connections can be established using the internal jdbc client.
Then, I've configured the Oracle Client in SQLdeveloper (Preferences/Database/Advanced) and selected the instantclient directory.
Pressing the "Test" button opens the Messages log "Oracle Client Test Results - Log" and shows an error.
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occured, Program will exit.
Unrecognized option: -
Now, I'm lost, because I'm not a Java-Expert. I'm wondering, why sqldeveloper as Java-tool is running, but the instant-client says it can't create the JVM.
The reason for me to use OCI-client is, that it has e.g. better support of User-breaks.
Without admin privileges and no permission to change your %PATH% env permanently, you only need to install the whole directory somewhere and add a .BAT file, that changes environment temporarily before calling SQL-Developer.
Install complete SQL-Developer e.g. in C:\myprogs\sqldeveloper
Install instant-client somewhere, e.g. in C:\myprogs\instantclient_12_2
Create .BAT file, e.g. C:\myprogs\sqldeveloper\startsqldev.bat with following content:
set PATH=C:\myprogs\instantclient_12_2;%PATH%
REM start sqldeveloper
"C:\myprogs\sqldeveloper\sqldeveloper.exe"
It works for versions > 20 as well ;-)
Meanwhile, I've solved it.
Result of testing:
Testing the Instant Client located at C:\Users\myuser\Oracle\instantclient_12_2
Testing client directory ... OK
Testing loading Oracle JDBC driver ... OK
Testing checking Oracle JDBC driver version ... OK
Driver version: 12.2.0.1.0
Testing testing native OCI library load ... OK
Success!
Reason were following mistakes:
Forgot "set" in front of Variable assignment (because I'm usually using Unix)
Used quotation marks during Variable assignment, which are taken as part of the value (also different to UNIX).
Added JAVA_HOME and JRE_PATH
See below my complete bat-file (adapted, because of some secret information within pathnames):
REM Optional: setting of USE_OS_DATETIME_FORMAT changes DATE-Format
set USE_OS_DATETIME_FORMAT=1
set PATH=%USERPROFILE%\OneDrive - myCompany\Oracle\instantclient_12_2;%JAVA_HOME%;%PATH%
REM start your preferred sqldeveloper
"%USERPROFILE%\OneDrive - myCompany\Oracle\sqldeveloperx64.20.2\sqldeveloper.exe"C:\Users\myuser\OneDrive - myCompany\Oracle\sqldeveloperx64.19.1\sqldeveloper.exe"
Additionally, I've added a shortcut to the bat-file and now I can start it simply with CRTL-SHIFT-S ;-)
BTW: Same solution works fine on Win10 as well
I have created a neo4j database on my windows machine.
I have transferred the content of the database directory to my linux machine. This is because I have the community edition which does not support the backup functions.
mtt#mttPC:/var/lib/neo4j/data/log$ sudo service neo4j-service start
WARNING: Max 1024 open files allowed, minimum of 40 000 recommended. See the Neo4j manual.
WARNING! You are using an unsupported Java runtime.
* Please use Oracle(R) Java(TM) 7 to run Neo4j Server. Download "Java Platform (JDK) 7" from:
http://www.oracle.com/technetwork/java/javase/downloads/index.html
* Please see http://docs.neo4j.org/ for Neo4j Server installation instructions.
Using additional JVM arguments: -server -XX:+DisableExplicitGC -Dorg.neo4j.server.properties=conf/neo4j-server.properties -Djava.util.logging.config.file=conf/logging.properties -Dlog4j.configuration=file:conf/log4j.properties -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled
Starting Neo4j Server...WARNING: not changing user
process [21498]... waiting for server to be ready..... Failed to start within 120 seconds.
Neo4j Server may have failed to start, please check the logs.
The file messages.log in the database directory says nothing.
Any idea? Are the windows and linux neo4js compatible? Thank you.
Edit
I have made a fresh install of neo4j on my ubuntu machine.
Now I finally get some logs:
2014-05-16 20:01:10.958+0000 ERROR [o.n.k.EmbeddedGraphDatabase]: Startup failed: Component 'org.neo4j.kernel.impl.transaction.XaDataSourceManager#25984c63' was successfully initialized, but failed to start. Please see attached cause exception.: Component 'org.neo4j.kernel.impl.nioneo.xa.NeoStoreXaDataSource#3d34dcb' was successfully initialized, but failed to start. Please see attached cause exception.: 'neostore' has a store version number that we cannot upgrade from. Expected 'NeoStore v0.A.0' but file is version 'NeoStore v0.A.2'.
2014-05-16 20:01:10.958+0000 INFO [o.n.k.EmbeddedGraphDatabase]: Shutdown started
I should be related to this but I am not sure how to proceed. Is the issue related to the fact that when I copied the database, I just stopped neo4j on my windows machine from the neo4j window?
There is no reason why a Neo4j database should not be transferable between operating systems. Can you please provide the output of data/log/console.log? First thought is that you may have permission issues. The files should be read/write for the user the Neo4j process will run as.
I need to connect to a database and use a wallet file.
If i try with my SQL Developer i end up with "ocijdbc.dll: Cant load IA 32bit .dll on a AMD 64-bit platform."
I have both installed JDK 32 bit (in C:Prog32bit) and JDK 64 bit (C:Prog) for development.
I tried to set JavaHome in sqldeveloper/bin/sqldeveloper.conf manually
SetJavaHome C:\Program Files (x86)\Java\jdk1.7.0_51
My next step was to edit %USER_HOME%/sqldeveloper/sqldeveloper.conf and I set SetJavaHome there too, but none didn't work.
Next step was, i edited sqldeveloper/bin/sqldeveloper.bat and set:
JAVA_HOME="C:\Program Files (x86)\Java\jdk1.7.0_51"
path="C:\Program Files (x86)\Java\jdk1.7.0_51\bin%"
java.exe -Xmx640M -Xms128M -Xveri....
My last try was to use the command line (as I would do on linux) and run:
D:\sqldeveloper>PATH="C:\Program Files (x86)\Java\jdk1.7.0_51\bin"
D:\sqldeveloper>java -version
java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) Client VM (build 24.51-b03, mixed mode, sharing)
D:\sqldeveloper>sqldeveloper.exe
But i still receive the message sqldeveloper is running 64 bit Java.
I found a workarround. An older version of SQL Developer (bundeld with jdk) is available at http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/sqldev-downloads-v322-2080107.html
The main problem in this case is that you have installed a 32 bits Oracle Driver to connect to your database in a 64 bit machine. There is no problem with that but you need to set SetJavaHome to a jdk directory that contains 32 bits version.
In sqldeveloper 4 you need to edit the file:
"C:\Users\username\AppData\Roaming\sqldeveloper\1.0.0.0.0\product.conf"
and inside this config file change the default directory for jdk1.7.0_71 32 bits is like this:
SetJavaHome C:\Program Files (x86)\Java\jdk1.7.0_71
After you use this path, check in Task Manager that your process sqldeveloper looks like this:
sqldeveloper.exe *32
If your process starts with that "*32" you could be able to connect using your 32 bits oracle driver.
Set the SetJavaHome value at %appdata% "Roaming\sqldeveloper\1.0.0.0.0\product.conf"
This could be cause of connection type as well.
Before connecting to database,
Right click on database and goto properties
Change the connection type to Basic from TNS, set the port and service name/SID, provide password and save the connection.
Try testing the connection, this resolved the issue for me.
Im trying to follow http://docs.neo4j.org/chunked/1.9.4/server-configuration.html in order to setup the server to accept external connections (org.neo4j.server.webserver.address=0.0.0.0 on conf/neo4j-server.properties according to that docs).
I downloaded the installer from here http://www.neo4j.org/download_thanks?edition=community&release=1.9.4&platform=windows&packaging=exe&architecture=x32. Note that this is an installer not a archive(rar, bz or whatever).
The "conf" directory does not appear. I have been working around (pass vm arguments at the startup etc but im going nowhere). Until now i have found:
C:\Documents and Settings[myuser]\Datos de
programa\neo4j-community.vmoptions[file]
C:\Documents and
Settings\xp\Datos de programa\Neo4j Community[direcory with a logs
subdirectory]
C:\Documents and Settings[myuser]\Mis
documentos\Neo4j\default.graphdb[directory for default graphdb i
think, here is a neo4j.properties files, is this the
neo4j-server.properties files that docs tell me?]
C:\Archivos de programa\Neo4j Community[directory with
.install4j,bin,jre(i dont have java installed on system)
subdirectories]
The bin folder on C:\Archivos de programa\Neo4j Community just contain:
- neo4j-community.exe
- neo4j-community.vmoptions
- neo4j-community-user-vmoptions.loc
- neo4j-desktop-1.9.4.jar
As you could see there is nothing here like the so mentioned (on docs) Neo4j.bat.
My neo4j server its running perfectly. Even i played a while with the so fun webadmin on localhost:7474. But when i needed to connect from a ubuntu pc and went to docs for help run into the misterious case of missing conf directory.
Are this docs not related to community edition or at least not to the windows 1.9.4 installer?
Right now i just need to connect from a external client, not localhost, but tomorrow i could want to fly in a cow and i suspect for that i will need the conf directory. Any help, in the particular case of remote connection to neo4j server or the general case of missing conf directory will be appreciated.
PS.I found neo4j community V1.9.4 - how to configure IP address and default database location? just a few seconds before i finished to write this. Where i could download the distribution and not the installer? In the official site dont seems to be more choices tan 32/64 bit installer???
If you want to download the distribution, you can download from here
http://www.neo4j.org/download/other_versions
In community version if you notice, there will be option to download "Installer" or "Binary"
just download the binary package and extract, everything (including conf folder) are inside that.
Btw, If you using the window installer, Neo4J will provide you with user-friendly GUI, if you notice, there will be "Settings.." button there for you to configure your server,
To change the server address for ex, you need to modify neo4j-server.properties
Configuration will be the same, just the location of the config file is different.
Iam facing one problem while connecting the timesten client to the server The SQL Exception which Iam getting is pasted below:-
Problems with loading native library/missing methods: no ttJdbcCS in java.library.path
I am working with MAC OS X 10.7.2 and my timesten client version is 11.2.1.0
I have also changed the Java Preferences from 64-bit to 32-bit but still whenever i tried to connect with the SQL Developer it gives me the above error.
Please help me as it is required for my graduation project!!!!
I don't know OS X. On linux I use next
export LD_LIBRARY_PATH=/opt/TimesTen/timesten/lib/
(directory where ttJdbcCS.so located)
Java must be same "bithes" (32 or 64) as TimesTen installation
I solved the by doing the following:-
The key things you need to be sure to do (in a terminal window) are:
Be sure to . in the TimesTen environment script /bin/ttenv.sh to set the full TT environment.
Change directory to SQLDeveloper.app/Contents/Resources/sqldeveloper
Run 'sh sqldeveloper.sh -J-d32'
and all should be fine.
Thanks all for their help!!!!