SQL Developer with JDK (64 bit) cannot find JVM

邮差的信 提交于 2019-12-31 08:47:14

问题


I just wasted one morning trying to get SQL developer to work on my current setup:

  • OS: Windows 8.1 virtual machine running on mac via Parallels.
  • No oracle client or instant client installed
  • No Java installed

The reproducible steps are

  • I downloaded SQL Developer for Windows with JDK (all 64-bit) and unzipped it to C:/Program Files/.
  • I double clicked on C:/Program Files/sqldeveloper/sqldeveloper.exe

I get the following message:

Unable to launch the Java Virtual Machine

Located at path:

C:/Program Files/sqldeveloper/jdk/jre/bin/server/jvm.dll

Can someone please help me? I also tried first installing Java 1.8 (64 bit) and then the SQL developer version without Java. This doesn't work either. When I select the location of the JDK home, it also sent one error message saying that it couldn't find any JVMs where I said. To add insult to injury, every time I follow this procedure, the Panda antivirus tells me that sqldeveloper is infected, deletes the file and encourages me to restart.

Can someone please help me? I would mostly appreciate.

Thank you very much in advance


回答1:


I had the same problem and solved it by copying the MSVCR100.dll file from sqldeveloper\jdk\jre\bin to the sqldeveloper\sqldeveloper\bin folder.

Credit goes to Erik Anderson from SQL Developer failed to start




回答2:


Create directory bin in

D:\sqldeveloper\jdk\

Copy

msvcr100.dll

from

D:\sqldeveloper\jdk\jre\bin

to

D:\sqldeveloper\jdk\bin



回答3:


If folder sqldeveloper/jdk doesn't contain folder bin, you can copy folder bin from folder sqldeveloper/jdk/jre into sqldeveloper/jdk.




回答4:


Depending on the issue, whether it's JAVA home path not correctly set or missing msvcr100.dll file, follow the below methods to rectify the problem:

1. Issue with JAVA home path not correctly set:

Follow these steps:

  • Go to directory where SQL Developer is installed.
  • Open the /bin directory.
  • Open sqldeveloper.conf in any editor to edit.
  • Remove the complete line starting with "SetJavaHome"
  • Save and close the file
  • Start SQL Developer again.
  • Provide the full path for java.exe on prompt.

2. Issue with missing msvcr100.dll file:

OP stated the following in his comments below:

If I first install the jdk and then sql developer without Java, it tells me Unable to launch the Java Virtual Machine Located at path: C:/Program Files/Java/jdk1.8.0_45/bin/msvcr100.dll

So, the error message is clear:

Unable to launch the Java Virtual Machine Located at path: 
C:/Program Files/Java/jdk1.8.0_45/bin/msvcr100.dll

Follow these steps:

copy:

MSVCR100.dll

from:

sqldeveloper\jdk\jre\bin

to:

sqldeveloper\sqldeveloper\bin

And relaunch SQL Developer again.

What is msvcr100.dll file?:

msvcr100.dll is a part of Microsoft Visual C++ and is required to run programs developed with Visual C++. Some applications like SQL Developer in the question, needs the file in the SQL Developer installation folder.

What options are available to fix the issue?:

Copying it from Windows systemfolder to the installation folder of application should fix the problem. Also, you could add the PATH to the msvcr100.dll file based on 32/64 bit requirements. If the local file itself is deleted or corrupt by any chance, then it could be downloaded online or could also be reinstalled via Microsoft visual C++ 2010 Redistributable package. It is important to use the correct version based on the software. Use the 32bit dll file for 32bit software, and 64bit dll file for 64bit software.




回答5:


I run into the same error message when trying to install SQL Developer from "Windows 64-bit with JDK 8 included" zip file in my Windows 10 Enterprise.

Launching the most recent SQL Developer version 4.1.3 in Windows 10 shows an error:

Unable to launch the Java Virtual Machine Located at path:
C:\Users\<USER>\Downloads\sqldeveloper-4.1.3.20.78-x64\sqldeveloper\jdk\jre\bin\server\jvm.dll

The path exists and is valid.

The same zip file works on Windows 7 Professional.

The problem was a missing msvcr100.dll.

I simply copied C:\Program Files\Oracle\VirtualBox\msvrc100.dll to C:\Users\<USER>\Downloads\sqldeveloper-4.1.3.20.78-x64\sqldeveloper\sqldeveloper\bin\ and SQL Developer started to work.

The details can be found from Issue running SQL Developer x64 4.1.3 with JDK.

Funny that Oracle VirtualBox team can include the dll into the installation package but Oracle SQL Developer team can't.




回答6:


This is because sqldeveloper.conf has an entry for the java home being used

look at this solution




回答7:


I have followed the steps and it worked just fine.

1) Open the file present at : \sqldeveloper-3.2.20.09.87\sqldeveloper\sqldeveloper\bin\sqldeveloper.conf and delete the line with setJavaHome xxx .

2) Click on Sqldeveloper.exe now and browse for the java.exe present in \sqldeveloper-3.2.20.09.87\sqldeveloper\jdk\jre\bin

3) This should launch SqlDeveloper now.

Thanks.




回答8:


Today I try to use oracle client 64 and failed connect Connection Identifier which is defined at tnsnames.ora file. I assume that try to connect Oracle 32 Bit Server using SQL Developer 64 bit. That is why I install new jdk x86 and trying to change jdk path but this error happened:

Trying to download SQL Developer 32 Bit, but at the site said that the bundle support both 32 bit and 64 bit depend on java installed.

Windows 32-bit/64-bit: This archive. will work on a 32 or 64 bit Windows OS. The bit level of the JDK you install will determine if it runs as a 32 or 64 bit application. This download does not include the required Oracle Java JDK. You will need to install it if it's not already on your machine.

My java home is 64 bit. New installed 32 bit jdk is not set at java home.

I need to open $User_dir\AppData\Roaming\sqldeveloper\version\product.conf

Remove line SetJavaHome C:\Program Files\Java\jdk1.8.0_201

Start sqldeveloper.exe instead of sqldeveloper64W.exe

New popup will shown and choose java home to new jdk version (32 bit mine) :

C:\Program Files (x86)\Java\jdk1.8.0_201

My fault, I pin sqldeveloper64W.exe to taskbar, why that error occured then after I move cursor and it was sqldeveloper64W.exe, I try to click sqldeveloper.exe, then I found that my setting is goes well.

So check it maybe it was happened on your system too. If sqldeveloper.exe does not working, try to choose sqldeveloper64W.exe.

Now I can call my Connection Identifier which is defined at tnsnames.ora using new setting SQL developer 32 bit mode.




回答9:


This looks like you might not have enough memory allocated to your Windows VM. If the JVM is configured to use more (maximum) memory than is available then you'll get this sort of error message.

You can read more about SQL Developer's memory at (that) Jeff Smith's blog.

The default settings still seem to be -Xms128m -Xmx800m. I can generate a similar error by setting -Xmx to be large than the physical RAM in my (physical) PC. So with the default settings, you will have problems if you don't have 800m of memory allocated to Windows. That doesn't seem like much, but it seems to be in the recommended window based on this knowledgebase article.

While you could attempt to reduce the JVM requirements in your product.conf file that will likely lead to other issues later, if it works at all. So increase your Windows VM memory allocation, reboot, and try to launch SQL Developer again.




回答10:


Create directory "bin" in

D:\sqldeveloper\jdk\ Copy

msvcr100.dll from

D:\sqldeveloper\jdk\jre\bin to

D:\sqldeveloper\jdk\bin




回答11:


I know that people may frown on a youtube example but this worked for me and I was getting the same issue https://www.youtube.com/watch?v=ex1dyu0Px8U

It will direct you to add the correct Environmental Variables for the JDK.

System Properties>Advanced>Environment Variables>Path> \sqldeveloper\jdk\bin AND \sqldeveloper\jdk\bin\server




回答12:


I had the same problem: The point here is to point on the java.exe binary under Oracle client installation and not the JDK installation under Program Files.




回答13:


Installing jdk1.8.0_211 and setting the below variable in product.conf (located in C:\Users\\AppData\Roaming\sqldeveloper\19.1.0) to JDK8 home worked for me

SetJavaHome D:\jdk1.8.0_211



来源:https://stackoverflow.com/questions/31181438/sql-developer-with-jdk-64-bit-cannot-find-jvm

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!