Authors:
deepsky8
BSD

SQL Code Assistant

Products: Android Studio, IntelliJ IDEA, AppCode, PhpStorm, PyCharm, RubyMine, WebStorm

Vendor: Serhiy Kulyk

Email:

Website: https://github.com/deeps...SQL-Code-Assistant-/wiki

License: license url

Description:

SQL Code Assistant provides extended editing capability for SQL and PL/SQL code of the Oracle database.
With the SQL Code Assistant you are able to browse the objects, edit and execute SQL statements, navigate over the code, search for usages in the database schema or scripts on the File System.

The plugin uses lexer and parser generated by ANTLR tool, thanks to Terence Parr (parrt@cs.usfca.edu, parrt@antlr.org).

Feature list:
  • Configurable syntax and error highlighting
  • Static code analysis
  • Context aware code completion
  • Viewing the structure of SQL and PL/SQL code
  • SQL and PL/SQL code formatting (experimental) (Ctrl-Alt-L)
  • Code Navigation
  • Quick object lookup (Ctrl-Shift-O)
  • Explain Plan (Ctrl-Shift-P)
  • Find Usages tables, views, columns, function, procedures, etc
  • Run SQL statement or PL/SQL block against active connection (Ctrl-Shift-M)
  • Database Schema Browsing
  • Set up database connection with plain JDBC URL or TNS Names, also SSH tunnel supported
  • Code Folding and bracket matching support
  • Code commenting

Latest changes:
  • Added initial support for Materialized Views (parsing and highlighting)
  • Some fixes in the parser and the syntax highlighter
  • Some fixes in autocompletion
  • Enable parser to support DB links for %TYPE and %ROWTYPE
  • Bring back lost icons for buttons in Connection Settings dialog
  • [KNOWN ISSUE] Case-sensitive table names, column names and so on are not supported for now

I appreciate comments, suggestions or bug reports, thanks in advance.
Downloads: 30281
Rating:
Participated in rating: 5
Version Since Build Until Build File/URL Size (Kb) Date Details
1.4.4.12. 120.1. 129.999. Download 12778.75 2013-03-18 21:44:55 details
1.3.0.11. 111.1. 117.999. Download 11198.52 2012-06-22 09:44:31 details
1.2.2.10. 98. 107.999. Download 11126.08 2012-04-03 22:43:09 details
0.8.1.8. 85.9500. 85.9999. Download 6384.09 2009-10-15 13:35:14 details
. .
5 updates are hidden show all updates
Screenshot #12955
Screenshot #14098
Screenshot #3386
Screenshot #3375
Screenshot #3056
Screenshot #14054
Screenshot #3376
Screenshot #3130
Screenshot #3055
Screenshot #3057
Screenshot #3927
Screenshot #3387

Recent change notes:

  • 1.4.4.12
      - [NEW] Initial support for Materialized Views (parsing and highlighting)
      - [FIX] Some fixes in the parser
      - [FIX] Syntax highlighting is broken on empty file
      - [FIX] Enable parser to support DB links for %TYPE and %ROWTYPE
      - [FIX] Bring back lost icons for buttons in Connection Settings dialog
      - [KNOWN ISSUE] Case-sensitive table names, column names and so on are not supported for now
  • 1.4.2.12
      - [KNOWN ISSUE] Case-sensitive table names, column names and so on are not supported for now
      - [NEW] Access to remote database via SSH (port forwarding)
      - [FIX] Refresh session button does not work
      - [FIX] Errored syntax failes syntax highlighting
      - [FIX] Slash failes parsing
  • 1.4.1.12
      - [NEW] TNSNAMES.ORA files can be used to establish connection to a database
  • 1.4.0.12
      - [NEW] Show Explain plan for SQL statement
      - [NEW] Support ALETR INDEX statement
      - [FIX] Hangs up on cancelation of running SQL
  • 1.3.1.12
      - [FIX] Some fixes in the parser
  • 1.3.0.11
      - [NEW] Added configuration of Colors & Fonts
      - [NEW] Autompletion of ":=", "||", SQL cursor attributes (PL/SQL), etc
      - [NEW] Support of the quoting mechanizm in PL/SQL appeared in 10g
  • 1.2.2.11
      - [FIX] Allow hyphen character in DB host name, example: 'host-101.com'
      - [FIX] DatabaseBrowser is not properly updated on ALTER TABLE request
  • 1.2.1.11
      - [FIX] Handling changes of File Type extensions
      - [FIX] Find Usages for names in double quotes
      - [FIX] Parsing
  • 1.2.0.11
      - [NEW] Code formatter added

Comments:

123>
roy_roy
Rated:
2012-04-13 20:52:51
Hello,

Can you try making the plugin dark-theme friendly like the popular Vibrant Ink for RubyMine. Maybe use cyan instead of blue. Or maybe just use the them colors for reserved words, comments, etc.

Otherwise great plugin. Thank you!
.
deepsky8
Rated: noRate
2012-04-03 10:33:19
Hi Kun_Yue,
You are absolutely right, the host name was not accepting hyphen character ("-"). Now i have fixed it, going to upload plugin with the fix today or tomorrow.

Good catch, thank you!
.
Kun_Yue
Rated: noRate
2012-04-03 01:40:25
just tried the latest update.

use the same host name:
rac03-100-scan.isg.mycompany.com

got validation error: "Host parameter contains not permissible charaacters"

it seems that it's not happy with "-" now
.
Kun_Yue
Rated: noRate
2012-02-23 02:19:40


Hi deepsky8,

I made one more try...
I checked our Oracle version is 11.2.0.1.0
Therefore I copied ojdbc6-11.2.0.1.0.jar from my local Maven repository, which is used by IntelliJ "Data Sources" tool-window, and replaced ".IntelliJIdea11\config\plugins\sql_assistant\lib\ojdbc5.jar"


The same error pops up:
Could not establish connection: Listener refused the connection with the following error:
ORA-12516, TNS:listener could not find available handler with matching protocol stack

thanks,
Kun
.
Kun_Yue
Rated: noRate
2012-02-23 02:08:06

Hi deepsky8,

thanks again for your quick response.

I just downloaded ojdbc6.jar and replaced ".IntelliJIdea11\config\plugins\sql_assistant\lib\ojdbc5.jar"


Got the same error when "Test Connection":
Could not establish connection: Listener refused the connection with the following error:
ORA-12516, TNS:listener could not find available handler with matching protocol stack

Kun
.
deepsky8
Rated: noRate
2012-02-22 21:45:48
Hi Kun,

I guess the issue may be related to jdbc driver used by the plugin. This is ojdbc5.jar driver that is not the latest one provided by Oracle. Replacing it with a new one requries some hand work.
You may need to download the latest one (ojdbc6.jar) from Oracle site, try to use URL below

http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010-090769.html

After downloading the driver, replace ojdbc5.jar with ojdbc6.jar.
The ojdbc5.jar file can be found in the JetBrain's IDEA plugins directory under sql_assistant directory. The location of the "plugins" directory depends on the type of operation system which you run on, in Windows7 it should c:\Users\\.\config\plugins

Serhiy
.
Kun_Yue
Rated: noRate
2012-02-22 08:28:48
Hi deepsky8,

Many thanks for your help.

Your configuration is what I have tried, and just tried again.

Not luck, got the same error:

Could not establish connection: Listener refused the connection with the following error:
ORA-12516, TNS:listener could not find available handler with matching protocol stack
The Connection descriptor used by the client was:
//rac03-100-scan.isg.companyname.com:1521/projdev


but the same configuration works in all of below:
1) Allround Automations PL/SQL Developer
2) quest toad for oracle
3) IntelliJ "Data Sources" tool-window.

any idea about this?

thanks again,
Kun
.
deepsky8
Rated: noRate
2012-02-18 22:28:16
Hi Kun,

1. Open Setup Conection Dialog (DatabaseBrowser Tool Window -> Create Connection)
2. Specify connection parameters:
Host: rac03-100-scan.isg.companyname.com
Service Name: projdev
User Name: ...
Password: ...
3. Make sure parameters are correct by pressing "Test Connection" button
4. If things go right, close the dialog with OK button
5. Connect to the database with "Connect" button
6. Enjoy :)
.
Kun_Yue
Rated: noRate
2012-02-17 21:07:54
it would be nice and convenient if this plugin can load the existing DB connection info from "Data Sources" tool-window config.
.
Kun_Yue
Rated: noRate
2012-02-17 19:48:24
I have a Oracle TNSName as below:


jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL = TCP)(HOST = rac03-100-scan.isg.companyname.com)(PORT = 1521))(CONNECT_DATA =(SERVICE_NAME = projdev)))


how can I use it to get connected please?

whichever way I tried, I got:
Could not establish connection: Listener refused the connection with the following error:
ORA-12516, TNS:listener could not find available handler with matching protocol stack
The Connection descriptor used by the client was:
//rac03-100-scan.isg.companyname.com:1521/projdev




.
xavierhanin
Rated: noRate
2011-08-28 13:41:46
Hi,

thanks for these very good news (especially github hosting)!

For the code completion problem I will try to reproduce it in a simpler context and give more details.
.
deepsky8
Rated: noRate
2011-08-25 12:10:32
Hi xhanin,
Thanks for the issue reporting! 1.0.3.10 does not work well with 107.XXX builds, Find Usage dialog was updated in these builds. I am going to release a version compatible with 10.5.X in a few days. Also, I will update SQL Code Assistant sources on GitHub.
I would appreciate you if you provide more details on the issue related to code completion in package bodies.

Thanks!
.
xhanin
Rated:
2011-08-18 20:47:38
Hello,

Thanks for this plugin, the feature set is excellent. Though I have some issues:
- the last versions of the plugin declare a \"until version\", therefore on my 10.5.1 version (build 107.322) using the plugin manager I get the version 0.9.3.2 (the last one without a \"until version\"). So I had to manually download version 1.0.3.10, update its until version metadata and it now works quite well...
- except that the find usage is buggy, there is an exception when the dialog is constructed :( Here is an extract of the stack:
java.lang.AbstractMethodError: com.intellij.find.findUsages.AbstractFindUsagesDialog.configureLabelComponent(Lcom/intellij/ui/SimpleColoredComponent;)V
at com.intellij.find.findUsages.AbstractFindUsagesDialog.createNorthPanel(AbstractFindUsagesDialog.java:109)
at com.intellij.openapi.ui.DialogWrapper.init(DialogWrapper.java:889)
at com.intellij.find.findUsages.AbstractFindUsagesDialog.init(AbstractFindUsagesDialog.java:146)
at com.deepsky.findUsages.SqlFindUsagesDialog.(Unknown Source)
- I also have some issues with code completion in package bodies, not sure if I\'m asking too much but I get almost always a \"no suggestion\" popup.

All of this lead me to one question: the license you provide seems to be an open source one, but I don\'t see the code anywhere. Is it available somewhere? Is it possible to contribute?

.
hyysguyang
Rated:
2011-06-22 13:44:44
Great plugin, but seems don't support other database but oracle, I would like to add support to other database, but where is the source code? can you give a link to the source code? The source code seems can be redistributed according to the license.
.
Anonymous
Rated: noRate
2011-06-05 00:55:45
that's true, our db uses service name; connection setup has field named "service name" so I did not expect problem there. Ok, thanks for explanation. I'm looking forward to next release :)
.
123>