I have some database import and export ant scripts that run little java programs to import and export data to and from oracle 11g.
The scripts used to work on Vista 32 bit, but stopped working with Windows 7 64 bit. There are two versions of ocijdbc11.dll that I can use.
When I use the 64bit version, the error message is: java.lang.UnsatisfiedLinkError: C:\tools\oracle\ocijdbc11.dll: Can't load AMD 64-bit .dll on a IA 32-bit platform.
When I use the 32bit version, the error message is: java.lang.UnsatisfiedLinkError: C:\tools\oracle\ocijdbc11.dll: %1 is not a valid Win32 application.
Does anyone know what I would need to change to fix this?
Sorry, I'm not a windows guru, but I also use an 11g from windows java, but not with the oci driver, but the ojdbc14.jar which contains the thin driver. This driver does not need a native dll as I know.
The 11 in the jar is not the oracle server version, but the JDK version to be used with. So the ocijdbc11 is a JDK 1.1 compatible driver. You should use ojdbc14.jar, ojdbc5.jar or ojdbc6.jar (ojdbc14.jar also works with Java 6, but ojdbc6.jar not with Java 1.4).
Related
I created Software Project in java Netbeans 8 and running on JDK 8.My Operating System is 64 bit.And My client Machine running on Windows xp 32 bit operating system.Would it work in xp if i made exe ?
What is appropriate Java Platform in Windows XP?
None really. Read this: https://www.java.com/en/download/faq/winxp.xml which explains why Oracle no longer supports Java on Windows XP.
Now you can probably find older versions of Java that will run on Windows XP, but you won't be able to get (reliable) security patches any more, either for the OS or for Java.
Would it work in xp if i made exe ?
It probably wouldn't. For a start, many of the ways to turn Java code into an exe do it by embedding a JRE inside the exe!
Do yourself a favour and upgrade to a PC with a more up-to-date Windows operating system. Or install Linux on it ... for free.
You can still install the Java 8 version in windows XP. When you generate the exe file, try to generate with 32bits.
You can do it with Launch4j for example.
We have a Java servlet running on Windows through Tomcat and a recent SQL server database migration caused issues that have so far been resolved by upgrading the sqljdbc to sqljdbc4.jar. This has worked fine on 32bit operating systems but it still seems to hang and timeout on a 64 bit server. The top error message in the logs is;
org.hibernate.exception.GenericJDBCException: Cannot open connection
Is there a 64bit version of this driver? So far I have not found one. Is there something else that I have configured wrong?
Generally jar files are platform independent. A jar containing class files can be used on 32 and 64 bit JVM.
Your problem could be that you still need the suitable JDBC driver. See http://technet.microsoft.com/en-us/library/ms378422%28v=sql.110%29.aspx
It states that you need sqljdbc_<version>_enu.exe installed. I'm guessing there is a difference between version 3 and 4.
Which JDK version will support windows xp? I am installed android studio on windows xp service pack 2 32bit, and it asks for jdk. i am also downloaded jdk 8u5 windows i586 version. While opening the exe file i am getting an error message . This is error :
The procedure entry point RegDeleteKeyExA could not be located in the dynamic link library ADVAPI32.dll
JDK 7 is supported on Windows XP.
Installer of JDK8 does not allow JDK8 to be installed on WinXP. But as far as I know there's no technical problem to run JDK8 on WinXP if you install it.
Oracle has dropped support for windows xp.
From Oracle page
Note: As of April 8, 2014 Microsoft stopped supporting Windows XP and therefore it is no longer a supported platform. See Third Party Vendor-Specific Support Terms on Oracle Software Technical Support Policies for details.
Even though the java binaries are compatible the installer is not. You can either use an older java version like JDK 7 or 6 or you may try step given in this link.
You can find good step by step solution with screenshot here.
You can try JDK 6 or JDK 7.
See this note from Oracle:
Note: As of April 8, 2014 Microsoft stopped supporting Windows XP and therefore it is no longer a supported platform. See Third Party Vendor-Specific Support Terms on Oracle Software Technical Support Policies for details
See also:
Oracle Java
Today when i migrate a project from old server to new server, i encounter this problem when i test the deployed service codes.
javax.servlet.ServletException: java.lang.UnsatisfiedLinkError: E802: Can't load shared library. E:\Rochade\bin\msvcr71.dll E:\Rochade\bin\msvcr71.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform
no msvcr71 in java.library.path
i googled it on the internet and found some tips on installing a 36 bit jdk, i tried but didn't sovle the problem, does any one has any comment on this? i am really in hurry to get this problem solved, which is the road block for us moving forward on the migration process.
I think you cannot load library compiled for 32-bit architecture in 64-bit environment.
Solution is to recompile the library for x64 or obtain 64-bit version if you do not have its sources.
You either can use a 32-bit JVM or install the 64-bit version of the Microsoft Visual Studio C/C++ Redistributable Package.
Or better reinstall the software on the new server. Moving only the folders to a new computer is not a good idea on Windows, especially when the old PC was a 32-bit system and the new PC is a 64-bit system.
I am trying to make a connection to oracle through java program. Following is the configuration.
Windows 7, 64 bit.
JDK 1.6
Oracle client 11g R2, 64 bit.
ojdbc6.jar in the class path of my standalone application.
But I am getting following exception-
"java.lang.UnsatisfiedLinkError: \bin\ocijdbc11.dll: %1 is not a valid Win32 application"
I googled alot but was not able to figure out the solution.
Please help me solve this problem.
Thanks in advance.
This error seems to be related with the compatibility of the OCI driver version with your Windows version.
Check if your OCI driver is compatible with a 32 bit architecture or else is for a 64 bit (and hence the error).
Here (https://forums.oracle.com/forums/thread.jspa?threadID=2189215) you can find a close related error (same error, for a different library), which finally was fixed downloading the S.O. specific version of the library and reinstalling it.
EDIT: so, after your edition, it seems that you have to install the 64 bit JDK and run your application on it, as your driver and your OS are aligned (64 bit).
This error may also come from 64 bit version of Java 7 and using 32 bit Oracle drivers. An application I used was supposed to use 32 bit Java 6, but an administrator installed Java 7, which apparently caused this error.
This error only happen on windows, to solve just copy your dll's into C:\Windows\System32, it works for me!
Firstly, you should have Oracle client 12 of 64 bit installed.
Secondly, copy ocijdbc11.dll to JDK--> inside bin folder and also to C:\Windows\System32 folder.
This should probably work.