[java] SQL Developer with JDK (64 bit) cannot find JVM

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

This question is related to java windows-8.1 oracle-sqldeveloper

The answer is


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

look at this solution


I was trying to use the sqldeveloper that comes with the Oracle installation under:

C:\oracle\product\11.2.0\dbhome_1\sqldeveloper

I tried most of the suggestions in this post to no avail, so I downloaded the one from oracle's download page (you must register) which asks for the location of the jdk folder (rather than the location of java.exe). This worked for me without any problems.


Step 1, go to C:\Users<you>\AppData\Roaming, delete the whole folder [sqldeveloper]

Step 2, click on your shortcut sqldeveloper to start Sql developer

Step 3, the window will popup again to ask for a JRE location, choose a suitable one.

If it still doesn't work, execute again from step 1 to 3, remember to change JRE location every time until it works.


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


Note that different versions of SQL Developer need different versions of MSVCR*.dll. Various comments below have offered which versions worked for them.


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.


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.


I couldn't find the file in C:\Program Files\Java\jdk1.8.0_261\jre\bin. My sqldeveloper came without jre at all so what it worked for me was copying the file from an older Oracle jre release to C:\Program Files\Java\jdk1.8.0_261\jre\bin.


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


I had a similar issue when opening the sql developer it gave me the below error

Unable to launch the Java Virtual Machine due to missing file MSVCR100.DLL

I was using JDK 8 and windows 64 bit version. Also I downloaded the oracle sql developer software with no jdk/jre option since I already have jdk 8 installed in my system. While double clicking the sqldeveloper.exe file, it asked me to input the path of the JDK. I gave the path and then it gave me the JVM MSVCR100.DLL error.

I checked inside the C:\Program Files\Java\jdk1.8.0_271\jre\bin and couldnt find the MSVCR100.DLL file there.

Then after searching the microsoft forum, understood this dll is part of the 64Bit: Microsoft Visual C++ 2010 SP1 Redistributable Package (x64).

After installing the above microsoft package I am able to find the dll under C:\Windows\System32

Then did the below,

  • Copied the C:\Windows\System32\msvcr100.dll --> C:\Program Files\Java\jdk1.8.0_271\jre\bin

This resolved the error and I was able to open up the Oracle SQL developer when it found the right dll.


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


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.


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.


For Windows Users: If anyone downloaded a non-jre version and faced issue, then later trying with the JRE version and still facing the issue, you need to delete SQLDeveloper folder inside "%AppData%\sqldeveloper". After deleting try opening sqldeveloper.exe again.


Create directory bin in

D:\sqldeveloper\jdk\

Copy

msvcr100.dll

from

D:\sqldeveloper\jdk\jre\bin

to

D:\sqldeveloper\jdk\bin

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


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.


Create directory "bin" in

D:\sqldeveloper\jdk\ Copy

msvcr100.dll from

D:\sqldeveloper\jdk\jre\bin to

D:\sqldeveloper\jdk\bin


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:

msvcr100.dll error

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.


Examples related to java

Under what circumstances can I call findViewById with an Options Menu / Action Bar item? How much should a function trust another function How to implement a simple scenario the OO way Two constructors How do I get some variable from another class in Java? this in equals method How to split a string in two and store it in a field How to do perspective fixing? String index out of range: 4 My eclipse won't open, i download the bundle pack it keeps saying error log

Examples related to windows-8.1

while installing vc_redist.x64.exe, getting error "Failed to configure per-machine MSU package." SQL Developer with JDK (64 bit) cannot find JVM Windows 8.1 gets Error 720 on connect VPN ADB Driver and Windows 8.1 Eclipse interface icons very small on high resolution screen in Windows 8.1 Asp.net 4.0 has not been registered

Examples related to oracle-sqldeveloper

how to modify the size of a column How to create a blank/empty column with SELECT query in oracle? Extract number from string with Oracle function How to run .sql file in Oracle SQL developer tool to import database? SQL Developer with JDK (64 bit) cannot find JVM How do I view the Explain Plan in Oracle Sql developer? NLS_NUMERIC_CHARACTERS setting for decimal copy from one database to another using oracle sql developer - connection failed Oracle SqlDeveloper JDK path Oracle SQL Developer: Failure - Test failed: The Network Adapter could not establish the connection?