What is the critical issue in your .desktop file
I tried your .desktop file replacing the Exec= command with another (simple and working) one and the file appears to be functional, and is not refused by Dash.
It is a common misunderstanding that you can use the Exec= line of a .desktop file as if it were a terminal window. That is not the case; expanding like ~/ or $HOME doesn't work for example. It is good (meaning: easy) practice to place more complicated commands in a separate script file, to be executed from the launcher file (your .desktop file)
Running complicated commands from a .desktop file
If you specifically want to keep your command inside your .desktop file, you should make it as follows:
Exec=sh -c "your_complicated_command_here && the_rest_of_it"
(command inside quotes)
Running a script from the .desktop file to do the job
Assuming that your command
cd /opt/sqldeveloper/sqldeveloper/bin && bash sqldeveloper $*
works from a terminal window, I would however simply create a small script:
#!/bin/bash
cd /opt/sqldeveloper/sqldeveloper/bin && bash sqldeveloper $*
Save it as scriptname.sh, and change the Exec= line of your .desktop file into:
Exec=sh /path/to/scriptname.sh
Then your .desktop file will show up in Dash
Note
That there are more issues with your .desktop file, as mentioned by @Braiam and @MrVaykadji. A few examples:
- You should not use just use made up values in the
Categories= line, as you can read here
- The version field is not required, but if you use it, use 1.0
More can be found here. Good tools you can find here (also thanks to @Braiam and @MrVaykadji).
The critical one that makes your .desktop file not appear in Dash however is the Exec= line.