Database Navigator

Skip to end of metadata
Go to start of metadata


download 

Overview

Components

Script Editor

Dialect sensitive editor for SQL and for Procedural-SQL script files (.sql, .plsql) providing advanced editing capabilities.

  • Language highlighting configurable in the "Colors & Fonts" IDE settings section
  • Code formatting, folding and bracket matching
  • Qualified code completion suggesting only suitable variants for the invoking position
  • Two configurable levels for code completion (to narrow down the suggested variants to the desired extent)
  • Sortable code completion variant-lists
  • Error highlighting for incomplete statements or invalid references to database entities
  • Basic structure projection in the "Structure" tool window
  • Statement execution triggers on editor gutter
  • Editor intentions (statement execution and selection of connection/schema for the current editor)
  • Navigation from resolved identifiers to the respective object in browser
  • Navigation within editor for aliases / variables (e.g. alias reference to alias definition)

Notes:
   MySql Procedural-SQL is highlighted with the Oracle highlighter
   Identifier resolver still experiences issues and may report invalid references even though they are valid. A major redesign of the identifier-resolver is planned already.

see more

top

Connection Manager

Flexible database connectivity management.

  • Connections configurable in scope of project or module
  • Persistent mapping between connection/schema and sql scripts
  • Connection pooling for concurrent database access and dedicated connectivity (managed internally)
  • Silent connectivity restoring in case of database linkage breaks (e.g. idle session timeouts, administrative session kills)
  • Virtual connections for deciding the .sql dialect of the mapped file (no real database behind)

see more

top

Object Browser

Tool window displaying available connections and the database objects.

  • Tree-wise visualization of database connections and hierarchical objects structure
  • Contextual popup menu with supported operations on each database entity (e.g. compile, execute, refresh lists)
  • Several embedded navigation capabilities via context menu (e.g. from column to its constraints, from synonym to underlying object)
  • Accessors for database object editor and method execution operation
  • Navigation history and speed search capabilities
  • Highlighting of invalid objects, accessors for multiple-compile operation (identify invalid objects and fire compilation operation on them) **
  • DDL extraction to editor or to clipboard (deprecated feature - see ddl file creation in code-editor section) **
  • Lazy loading of database objects (objects are loaded only on demand from the database to save system resources)
  • Intelligent background loading strategy to ensure minimal waiting times for developer

see more

top

Code Editor

Highlighted code editor for program-objects (e.g. functions) and views

  • Editor for database functions, procedures, packages, types and triggers
  • Qualified editor for database views (advanced editing capabilities like code completion, folding, navigation, error highlighting)
  • Show changes facility (diff visualization for local changes and changes against database)
  • Basic team coding support to prevent blind overwriting on concurrent editing (if the edited object was changed by a third party since it was last saved, developer will be prompted to merge the changes)
  • Support for creation of DDL files for database objects
  • DDL file mapping - locating and aggregating project .ddl files with the database objects being edited (ddl files are automatically updated when object is edited)
  • Firing compile operation after updating changes to database **
  • Compiler error messages in the execution console with navigation to code (to exact row and column position) **
  • Navigable structure projection in the "Structure" tool window
  • Identifier highlighting (Editor settings: "Highlight usages of element at caret")

Note: Version conflict editors are not highlighted. Will be fixed in future releases.

see more

top

Data Editor

Tabular dataset editor for manipulating data in tables and editable views

  • Advanced cell editors for several data types (data choosers, calendar, large text editor)
  • Input validation and error highlighting (erroneous inputs are leniently notified by a lightweight error pop-up)
  • Data sorting (click on column header will switch the sorting order)
  • Gutter highlighting for unsaved changes (inserted, changed or removed entries are emphasized in the editor gutter)
  • Data export to file or to clipboard in several formats (sql insert statements, .xls, .csv)
  • Flexible data filtering capabilities (simple - list of conditions joined with AND or OR; custom - sql editor for freestyle "where" condition)
  • Quick filter suggestions (e.g. "filter by column value", "filter by clipboard value")
  • Transaction awareness when changing data (commit and rollback controls are being enabled for the corresponding connection)
  • Navigable structure projection in the "Structure" tool window
  • Smart editing (cell becomes editable right after being selected to skip annoying "double-click to edit")
  • Editing lock (for comfortable data browsing)
  • CLOB editor with configurable highlighting (supports all file types supplied by IntelliJ)**
  • Record editor

see more

top

Execution Engine

Statement and database-method execution, compile engine for database programs

  • Execution of sql statements can be fired directly from the editor gutter against the database mapped to the editor
  • Sticky linkage between statements in editor and execution result (navigation from the editor to the result and backwards is ensured even if the file is being edited)
  • Sortable query results in tabular form
  • Export of query results to file or to clipboard in several formats (sql insert statements, .xls, .csv)
  • Message window for failed statement executions
  • Executed statement preview window (useful when the underlying statement has been changed in editor)
  • Transaction awareness on execution of data manipulation statements (commit and rollback controls are being enabled for the corresponding connection)
  • Compiler engine for database program objects (functions, procedures, triggers, packages, types) **
  • Method execution engine for functions and stored procedures
  • Method execution history (execution arguments are persisted and can be reviewed/reused/deleted at any time)

Note: Configuration of execution processes is still pending.

see more

top

PL/SQL Debugger **

Full-fledged debugger for PL/SQL programs (procedures, functions, packages) based on the Oracle DBMS_DEBUG functionality.

  • Ensure debugging prerequisites (check for privileges, compile programs and dependencies in debug modus)
  • Add and remove breakpoints before and during debug process
  • Break/resume execution: step over, step into, step out, run to breakpoint, run to cursor
  • View and change variable values on suspended execution
  • Display cascading execution frames
  • Support watchers and expression evaluations (within the limitations of DBMS_DEBUG framework)
  • Store run parameters in method execution history

Notes:
   No JDWP debugging supported yet
   Only execution of functions and stored procedures can be debugged for the time being (including package executable elements).
   Execution and debugging for file based PL/SQL code (PL/SQL scripts) is planned.

see more

top

** Oracle specific feature



Labels:
None
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.
  1. May 01, 2009

    Anonymous

    The following table name is valid in pl/sql:

    bbbbbbbb.aaaaa#004

     But the # confuses the plugin.

    Rodrigo Gomez

    1. May 04, 2009

      Hi Rodrigo,

      thanks for the feedback. Have created http://www.jetbrains.net/jira/browse/DBN-26 ticket for this and hope to solve it soon.

      PL/SQL parsing is still in early phase, hence you may encounter lots of other issues. Anyhow this was not known, so thanks.

  2. May 15, 2009

    Anonymous

    This looks very promising. Are there any plans to support PostgreSQL? Or will it be possible to add additional "database dialects"/plugins or whatever by third party?

    Sincerely yours, Horst Weber.

    1. May 18, 2009

      Hello Horst,

      the support for other databases is just a matter of time, yet there are other databases which are far more probable to be supported in the future. PostgreSQL is not so common, judged solely by the number of requests I receive in this regard. So I have to disappoint you, this will probably not happen soon.

      There is an api for new databases support of course, yet as it came out when migrating the plugin from Oracle to MySQL, extending it is not just implementing the interface. Each database behaves in its own way, hence some of the changes happen to reflect down to the very core of the application. And additionally, the parsing of a new SQL dialect is a very custom thing. The parser itself is a very generic implementation, but it requires an underlying xml definition, which must cover all possible syntactical structures. Quite an effort here as well. So again, not sure when or if there will be support for PostgreSQL.

      Regards,
      Dan

      1. Jun 15, 2009

        Anonymous

        Hello Dan,

         that's a pity. On the one side, I'm somewhat surprised that you don't get enough requests to support PostgreSQL. For me, I had several projects which used PostgreSQl and in some of them there were explicit requests by the customers to use it. But on the other side, looking at the lack of good literature from O'Reilly or Addison Wesley, it may suggest that you're right: it seems PostgreSQL generates less interest than it should be...

         Unfortunately, at present I don't have the time to offer my support to implement it. So I may have to wait and hope...

         And, to tell the truth: Most of the projects in which I'm involved in don't require such sophisticated tools. The JDBC Console and the "classic" way of doing the stuff "just works". But nevertheless, more would be nice and always welcome...

         Sincerely yours, Horst Weber.

  3. Jul 29, 2009

    Anonymous

    Just dropping you a line to let you know I simply love your plug-in! Some really nice work there. My personal favorite is the PL/SQL editor which makes my life so much simpler.

     Thanks!

    Arne

    1. Aug 05, 2009

      Thanks Arne, always good to hear that. This is the first feedback i receive so far regarding PL/SQL support. Feel free to report problems as well if you encounter any.

      Regards,
      Dan

      1. Aug 17, 2009

        Hi again. The only problems I have encountered seem to be related to parsing/introspection of the PL/SQL-code. I normally get a lot of red marks, even when the code compiles and executes on the DB. Here's a screenshot that illustrates three cases.

        This code actually compiles.

        Cheers,

        Arne.

        Edit: Source code in text format for your convenience.

        1. Aug 21, 2009

          Hi Arne,

          thanks for the issue report. It is true, the PL/SQL parser is not finished yet. There are several syntactical structures which are still missing or incomplete, especially concerning expressions. As a result, all the red marks, despite the fact that the code is compilable. Now i will for sure try to fix all these issues but don't know how soon cause i am pretty busy with other things right now.

          One question out of my curiosity, how are you editing the packages / procedures? Are you changing the ddl files and running them against the database or editing directly the objects in database and using the ddl linkage mechanism to automatically update the ddl files?

          Cheers,
          Dan

          1. Sep 08, 2009

            Hi Dan,

            Great to hear that work is in progress regarding this. I can't tell you enough how much your plugin has helped my in my daily work already.

            I usually work on DDL files and run them against the database. I find that this is most effective for my workflow.

            Thanks again, looking forward to future updates.

            Cheers,

            Arne

            1. Sep 11, 2009

              Hello Arne,

              thanks again for your appreciation.

              Regarding your usage, I would advise you to use it the other way around, i.e. editing directly the database objects. This way you can benefit from some other little gadgets like navigation to code in case of compilation error, basic team coding support (you can not overwrite concurrent changes from third party - you will be forced to merge the code). In addition to this, you can link your ddl files to the edited object, so they automatically get updated when you save the changes to database. Give it a try, it's worthwhile.

              Cheers,
              Dan

              1. Sep 15, 2009

                Thanks for the tip, I will try it out for sure!

                Best regards,

                Arne.

  4. Aug 07, 2009

    Any chance we will eventually see these tools outside of Idea, perhaps on the .Net side or as stand-alone tools?
    I know that there are tools that already do some of this stuff for t-sql in the .Net world (RedGate comes to mind) but they seem buggy and fall far short of the ease of use I am accustomed to from a JetBrains product. I would hope that a lot of the parsing/formatting/highlighting/connection mgmt etc stuff could be re-used, though I am sure it would not be trivial.

    1. Aug 13, 2009

      Hi David, unfortunately not. This tool was implemented around the language api provided by JetBrains, and removing it from this context would be hell of a work. And I am not really sure I want to do that, because having this strong functional base was mainly the reason for doing this in the first place. And besides of that, providing a standalone version would also slow down my further development if I would need to maintain two or more code bases. But what prevents you from using it with intellij?

      1. Aug 17, 2009

        Ok, what you wrote makes sense. I suppose the language apis in intellij and those in resharper are quite different. I could use intellij, but as a .Net developer I use Visual Studio with ReSharper, and don't currently have a license for intellij. It seems a pricey license to buy just for the db functions, but I will keep my eye on it!

        1. Aug 22, 2009

          Hi David, when i started doing this, the language infrastructure was pretty java-centric, but I know that this considerably changed with intellij 8 and became more generic. I think the basic idea behind was to make a JB cross platform language engine. So I wouldn't be surprised to see the same language api in resharper. But I can not tell for sure because I never saw it. But I am sure this is the case for RubyMine and MPS. Their user interface is very similar to IntelliJ.

          Would be nice if JetBrains would have an even more flexible licensing model, i.e. providing a java-less "host" platform with all the plugin and custom language support.

  5. Nov 02, 2009

    Anonymous

    Hi I'm trying to add my DB2 data base in Database Manager but it fails because of the licenses.

    This is my configuration:

    In diver Library I'm pointing the

    Unknown macro: {Home_Project}

    \lib\db2\db2jcc.jar and
    the driver is com.ibm.db2.jcc.DB2Driver
    my Connection url is jdbc:db2://MY_PATH:8300/(DB_NAME).

    Now when I click test button it said "No license was found. An appropriate license file db2jcc_license_*.jar must be provided in the CLASSPATH setting" The thing is that I have the licenses jar but I don know how to set them into the classpath.

    Someone can help me with that?

    1. Dec 30, 2009

      If you try to use Database Navigator plugin with DB2 this will not work, because it only supports Oracle and MySQL for now.
      But are you sure your issue has to do with this plugin? The way it looks like you are trying to setup a connection in the IntelliJ connection manager. So you might be wrong by posting this here. Please address this issue to the support forums for IntelliJ.

    2. Nov 14, 2009

      Anonymous

      This has nothing to do with the plugin.

      You should do exactly what it said: inlcude the license jar in the classpath.

      It should be beside the db2cc.jar (in my case it is called db2jcc_license_cu.jar).

      Please, inform me if you managed to use the plugin with DB2.

      1. Dec 30, 2009

        I understand your problem. Nevertheless the plugin only supports Oracle and MySQL. So trying to setup a connection for DB2 is absolutely pointless.

        DB2 will be probably supported in the future, but it is not certain how soon.

  6. Dec 30, 2009

    Anonymous

    I hope the plugins developer(s) read comments for this page. Plugin doesn't work with Web IDE 94.48, see screenshot in Web IDE bugtracker http://youtrack.jetbrains.net/issue/WI-574.

    1. Dec 30, 2009

      Was not aware that it is not working with WebIDE. I never tested it but with IntelliJ, and I figured it should work with all it's related products (they share the same code base). I will provide a fix for this soon. Try using it with IntelliJ community edition so long.

        1. Jan 12, 2010

          Thanks for the hint! I fixed the compatibility issue with WebIDE in release 3.0.1753.

  7. Jan 08, 2010

    Anonymous

    It´s the same Problem with the RubyIDE. The Plugins is disabled and if you enable it, it is ignored.

    I´m using it on Mac OS X with Java 1.6 and RubyMine 2.0

    1. Jan 12, 2010

      As mentioned above, i fixed some compatibility issues, still I tested only with WebIDE. Can you please give it a try. Thanks!

  8. Jan 17, 2010

    Anonymous

    trying the plugin (build 1757) with RubyIDE , jdk 1.6 on ubuntu and I have still the same problem. good luck ;

    1. Jan 18, 2010

      Well i identified the issue, but there is nothing i can do. This seems to be a bug with RubyMine. If you install the plugin via plugin manager, it will get the binaries for IntelliJ 8.0, which are of course not compatible.
      You should try to install the plugin manually by getting the version flagged with "Since Build" 90.10000. But additionally you need to remove the tag <idea-version.. from the plugin.xml descriptor contained in the DBNavigator.jar and then it will work. If i remove it myself, the versioning will then be misinterpreted on the plugin repository site.

      1. Jan 19, 2010

        Anonymous

        thanks a lot, it is working now !!! Now I try to get the connection set-up !

        1. Jan 19, 2010

          btw, the problem with RubyMine compatibility has been fixed now with the new version 2.0.1

  9. Jan 19, 2010

    Anonymous

    i cant make the plugin work with a Sybase database. i manage to define a connection but i cant see anything in the DB browser - no schemas, no users, no nothing, just an empty tree.

    1. Jan 19, 2010

      The plugin does not support Sybase. Even if you manage to define a connection, the mechanism for loading the data dictionary does not understand but Oracle and MySQL. This is not a generic implementation based on jdbc DatabaseMetaData, simply because it would be too slow. Support for Sybase will probably provided in the future...

  10. Jan 19, 2010

    Anonymous

    How to setup connection with MySQL? I see the connector for Oracle (.WebIde10\config\plugins\DBNavigator\lib\ojdbc6.jar). Where is connector for MySQL? I tried with mysql-connector-java-3.0.17-ga-bin.jar from Mysql website and connection string jdbc:mysql://localhost:3306/ with no luck. The same connector and connection string jdbc:mysql://localhost:3306/<database_name> works well with bundled WebIDE Database Support plugin.

    1. Jan 19, 2010

      The MySQL driver is not bundled. You have to get the appropriate one from the MySQL site.

      What user do you use? Try also "root" without password. The connection URL seems to be all right. Must be something like "jdbc:mysql://localhost:3306/mysql". What error message do you get when you Test the connectivity?

      1. Jan 21, 2010

        Anonymous

        Sorry, I used url 'jdbc:mysql://localhost:3306/' (similar to your screenshot on this page for Oracle connection). When I added database name as I did with bundled WebIDE Database Support plugin and now all ok. Thank you for this great plugin! I hope in the future you will add support for PostgreSQL.

  11. Jan 28, 2010

    Anonymous

    How do you get this working with Intellij 9?

     I see the db navigator tab but no way to get the rest of the features for editing, execution

    1. Jan 29, 2010

      1. Start by setting up a connection (Menu: DBNavitagor > Settings).
      2. Create a sql file (test.sql) and write some sql code
      3. Select the connection and schema in the header of your editor
      ... you should have handles for executing the statements in the editor gutter

  12. Jan 28, 2010

    Anonymous

    Hello,

     Plugin works great with RubyMine 2.0 but FAILS on RubMine 2.0.1.

     Please fix.

    1. Jan 29, 2010

      Hello,

      what exactly do you experience? If you did the plugin.xml trick i explained a few posts earlier (about the <idea-version.. tag), this will probably not work with 2.0.1. Try installing the plugin again. I tested it just now with 2.0.1 and it works. Please make sure you have the version 3.0.1757 of the plugin.

  13. Jan 29, 2010

    Will it be in the future support for Oracle Database? (I want to replace functionality of Oracle SQL Developer with Database Navigator)...

    1. Jan 29, 2010

      Well Rares, Oracle is the main database this plugin supports. It even started by supporting only Oracle. So go ahead, setup a connection to your Oracle database and see what you can do with it. But if you are looking fore features like creating tables and database objects other than by writing ddl scripts, there's not much support in that area.

      What did you mean by "replace functionality"?

      1. Feb 01, 2010

        To answer to your last question: I want to use a single tool for database and while I'm using Intellij IDEA for writing code, I would like to use database support in the IDE.

        The functionality that I wanted is passing a role to the login process(like in SQL Developer) (e.g. as sysdba).

        1. Feb 02, 2010

          There is not much you can do with this plugin if you intend to use it as a database administrator. It is mainly targeted for development, and less for database administration.

  14. Jan 29, 2010

    Anonymous

    Cool plugin. Got it installed ok, got my connection defined and connected. Then discovered it doesn't support Sybase.

    Oh well. Any idea when Sybase might be supported? 

    1. Jan 29, 2010

      Hello, I can not give a certain answer as to when Sybase will be supported, as I get so many requests for other databases as well. The other thing is I never set timelines, and I mainly develop driven by my own needs. Since I never came across Sybase, it was not really one of my priorities. What I planed though, is to support the generic SQL dialect ISO-92, and I think as soon that is in place, I will start building interfaces for the most commonly used databases.

      1. Jul 04, 2013

        +1 for Sybase support.

  15. Feb 02, 2010

    Anonymous

    I am using Idea IC 9.0.1, the operating system Linux Mandriva 2010. After I install this plug-in when searching for a class (for keyboard shortcuts Ctrl + N) and paste from the clipboard (using the keyboard shortcut Shift + Ins) an exceptionBlame Database Navigator:

    java.lang.NullPointerException
        at com.dci.intellij.dbn.editor.data.action.InsertRecordAction.actionPerformed(InsertRecordAction.java:16)
        at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher$1.performAction(IdeKeyEventDispatcher.java:469)
        at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.processAction(IdeKeyEventDispatcher.java:509)
        at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.inInitState(IdeKeyEventDispatcher.java:405)
        at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.dispatchKeyEvent(IdeKeyEventDispatcher.java:175)
        at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:484)
        at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:366)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

     If I use the key combination Ctrl + V exception is not generated

    1. Feb 02, 2010

      Thanks for the problem report. Will be fixed in the upcoming release.
      Please use the dedicated bug tracker if you want to keep track of the issues you report. http://www.jetbrains.net/jira/browse/DBN

  16. Feb 25, 2010

    Anonymous

    Hi, just started using IntelliJ IDEA and first thing I did was install this plugin!

    I've managed to get a connection setup (both 'Test' and 'Info' buttons return information) but under the DB Browser (or when I create a .sql file and select the connection) I cannot see any schema information...

    Specifically when I click the dropdown for the schema when editing the .sql file it says "Nothing here".

    I don't have full control over the setup of the database but can access it all from phpMyAdmin.

    Any pointers as to where I should look at getting this resolved? Can DB schema information be blocked within MySQL from being accessible to certain users via permissions? Should I be contacting the DB admim?

    Cheers,
    Roy

    1. Feb 26, 2010

      Hi Roy, can you check whether you have access to the information schema?

      e.g.  select * from INFORMATION_SCHEMA.SCHEMATA using another tool with same credentials.

      If this returns no rows than you have to ask your administrator for more rights.

      Cheers, Dan

      1. Feb 26, 2010

        Anonymous

        Hi Dan,

        Running that SQL query on the database via SQL-Front returns the error:

        SQL execution error #1142. Response from the database:
        select command denied to user: #foo# for table 'SCHEMAT'

        So defiantly does look like a permissions restriction.

        Cheers for the timely response!

        I'm looking at setting up a separate MySQL instance on a new development box, so should hopefully be able to sidestep the issue rather than go through layers of bureaucracy to get the correct permissions

        Cheers again,
        Roy

        1. Mar 01, 2010

          Hi Roy,

          Yes, probably it is easier to setup your own instance, yet, I do not understand what is the big deal in receiving read access to the information_schema. There is nothing you can do wrong about it.

          Something puzzles me though. How is phpMyAdmin managing to access data dictionary? Are you sure you used the very same credentials to access the database?

          Cheers,

          Dan

          1. Mar 09, 2010

            Anonymous

            Hi Dan,

            Sorry for the late reply, haven't been checking back now that I had it up and running but came looking for some ideas of how to use the integration with .SQL files effectively.

            Anyway, phpMyAdmin - It's basically the curse of the overprotective (but by no means useless) DB admin! It turns out there's an extra layer of complexity with the authentication based on IPs.

            So when using SQL Front I was being blocked because the IP for my new computer (just joined the company) was being blocked.

            Sorry for any worry I caused!

            Loving it now that it's all up and running.

            Thanks again for the help,
            Roy

  17. Mar 11, 2010

    Anonymous

    Shame it does not work with MS SQL

    1. Mar 13, 2010

      Just a matter of time. Stay tuned..

  18. Mar 15, 2010

    Anonymous

    Hello, I have a feature request, I already filled it in here:

    http://youtrack.jetbrains.net/issue/WI-1399

    But it was made arrogantly clear by the devs that "we don't "lack" this doubleclick stuff - we won't do it *intentionally*". As they "strongly suggest you to try to learn our ways."..

    It would be a great feature though.

    1. Mar 16, 2010

      Hello, you confuse this plugin with JetBrain's Database Support plugin. This is a completely different plugin(http://plugins.intellij.net/plugin/?idea&id=1800) and has nothing to with IntelliJ's database built-in functionality.

      1. Mar 16, 2010

        Anonymous

        Yeah, but it's similar as you can view the database structure on a docked window too, I'm just proposing an IMO useful feature.

        1. Mar 20, 2010

          There are several navigation concepts behind double clicks on objects in the browser. It is highly unlikely that these will be replaced by a "paste object name in editor" feature. Besides of that I wonder why would one need such a feature when there is code completion? Moving the hand away from the keyboard to operate the mouse is so much inefficient. That is why IntelliJ people advise operating it mainly from the keyboard, and are putting all their efforts in making this possible.

  19. Jun 24, 2010

    Anonymous

    Looks really good ,

    Only problem is when i try to write any SQL query and it hangs - Intellij becomes unresponsive and so not able to do much with this plugin.

    1. Jul 05, 2010

      About the performance issues you experience, can you give some more details on your use-case? (i.e. database, operating system, hardware). There may be several reasons for performance problems, the one would be a slow database connection (provided you are editing a sql file which is mapped to an active database). While preparing code completion lists and while resolving identifiers in editor, the plugin lazy loads the relevant objects from the database. So you may experience slow editing at the beginning, but this shouldn't be the case after the objects are loaded. Plus the sql parser itself is doing some caching at the beginning, which also may result in unresponsiveness, but as soon as the "warm-up" phase is passed, there must be no issues with the editing.

      1. Jul 05, 2010

        Indeed, there is a performance issue with code editing. A fix will be released soon.

  20. Jul 14, 2010

    Performance issues fixed with release 3.0.1788
    .

  21. Jul 20, 2010

    Anonymous

    Downloaded latest version (3.0.1788 according to plugin.xml) and can no longer start IDEA.  In idea.log, I see:


    I am running IDEA Ultimate 9.0.2 (build #IU-95.66).

    sWhy does this plugin work for everyone else?

    1. Jul 21, 2010

      Uh, that's an ugly one. Probably everyone else is having the same problem but no one complained so far. Thanks for reporting it. Will provide a fix tonight.

      1. Jul 22, 2010

        Fixed with version 3.0.1790

        1. Jul 23, 2010

          Anonymous

          Yep.  That fixed it.  Thanks. 

          But now that I've got it loaded and followed the directions to disable the IDEA SQL plugin, I can no longer use the iBATIS plugin that relied on it. 

          What will happen if I leave the IDEA SQL plugin enabled?

          1. Jul 23, 2010

            Hello, you can enable the IDEA SQL plugin, the only thing is that SQL files will still be handled by DBNavigator plugin (with the limitation that it only supports Oracle and MySQL dialects). Not sure in what extent iBATIS uses the original SQL functionality. But give it a try.

  22. Jul 21, 2010

    Anonymous

    Yes its affecting !!

    This plugin looks so cool that am dying to get it properly working on my m/c.

    Thanks a lot Dan for this.

    1. Jul 23, 2010

      Well, the plugin is fixed now so give it a try. I certainly hope it will meet your expectations.

  23. Jul 30, 2010

    Anonymous

    hey there, new to this IDE and plugins.  This plugin looks amazing, but I dont run any files locally, everything is done on the remote server.  Am I able to connect this to the database(I am running MySQL) on the server?  If so how would I set the database driver, and URL in the settings tab?  thanks in advanced.

    1. Jul 30, 2010

      Hello,

      in order to login to a database you need a so called jdbc connector (a jar package provided by the MySQL vendors). You can find this on the MySQL pages (http://dev.mysql.com/downloads/connector/j/). Please download and unpack the tar file somewhere on your local machine. On the unpacked root folder you should find the driver library (something named like mysql-connector-java-5.1.13-bin.jar)

      Coming back to the connection setup screen:

      1. specify the path to the library in the "Driver library" field (you can browse to the file as well). As soon as you entered a valid path for the library you should be able to see a list of drivers in the "Driver" drop-down. The most suitable one should already be selected.

      2. the "URL" should look something like this:  jdbc:mysql://<>host name or id>:<port number>/<database name> (e.g. jdbc:mysql://hostname:3306/mysql)

      3. user name and password you should know if you already connected to that database. 

      [this relies on basic JDBC connectivity, if you are working with java, this is one of the first things you should learn about]

      Happy MySQL-ing... Please share your experience. Thanks!

      1. Jul 31, 2010

        Anonymous

        Thank you so much.  Got it up and running..  Time to explore the plugin, thanks again...

  24. Aug 13, 2010

    Anonymous

    Please add SQLITE support. Driver: org.sqlite.JDBC

    1. Aug 18, 2010

      Well it is not just as simple as that. If you read the posts to this plugin, adding compatibility to another database is quite a complex process. But I'll do my best. May take a while though...

  25. Aug 24, 2010

    Anonymous

    It is not working debugging the procs in oracle. It doesn't stop on break point. It always says missing permissions even though it has permissions.

    • DEBUG CONNECT SESSION
    • DEBUG ANY PROCEDURE
    1. Aug 24, 2010

      can you please double check this with your database administrator? I am pretty sure you do not have these privileges. The debugger can not properly initialize the Oracle debugging session. This is also the reason why the breakpoints get ignored. Normally it should break the execution at the beginning of the method without needing to set any breakpoint. Please check again. The privileges must be granted to you or to any of your granted roles. You can check this by navigating through your privileges and roles using this plugin.

      1. Aug 24, 2010

        Anonymous

        Yes sir. I have those privileges. I can able to debug the same proc using SQL developer. Is there any log file created to see what is going on while the debugging the proc.

        1. Aug 24, 2010

          Anonymous

          I think it is caused by this.

          java.sql.SQLException: Too many failed attempts of executing all-user-privileges. ORA-00942: table or view does not exist

          at com.dci.intellij.dbn.database.common.statement.StatementExecutionProcessor.executeQuery(StatementExecutionProcessor.java:101)
          at com.dci.intellij.dbn.database.common.statement.StatementExecutionProcessor.executeQuery(StatementExecutionProcessor.java:71)
          at com.dci.intellij.dbn.database.common.DatabaseInterfaceImpl.executeQuery(DatabaseInterfaceImpl.java:36)
          at com.dci.intellij.dbn.database.common.DatabaseInterfaceImpl.executeQuery(DatabaseInterfaceImpl.java:31)
          at com.dci.intellij.dbn.database.common.DatabaseMetadataInterfaceImpl.loadAllUserPrivileges(DatabaseMetadataInterfaceImpl.java:64)
          at com.dci.intellij.dbn.object.common.DBObjectBundleImpl$11$1.createResultSet(DBObjectBundleImpl.java:616)
          at com.dci.intellij.dbn.common.content.loader.DynamicContentResultSetLoader.loadContent(DynamicContentResultSetLoader.java:65)
          at com.dci.intellij.dbn.common.content.DynamicContentImpl.performLoad(DynamicContentImpl.java:148)
          at com.dci.intellij.dbn.common.content.DynamicContentImpl.load(DynamicContentImpl.java:117)
          at com.dci.intellij.dbn.common.content.dependency.SubcontentDependencyAdapterImpl.beforeLoad(SubcontentDependencyAdapterImpl.java:59)
          at com.dci.intellij.dbn.common.content.DynamicContentImpl.performLoad(DynamicContentImpl.java:140)
          at com.dci.intellij.dbn.common.content.DynamicContentImpl.load(DynamicContentImpl.java:117)
          at com.dci.intellij.dbn.common.content.DynamicContentImpl.getElements(DynamicContentImpl.java:248)
          at com.dci.intellij.dbn.object.common.list.DBObjectListImpl.getObjects(DBObjectListImpl.java:49)
          at com.dci.intellij.dbn.object.impl.DBUserImpl.getPrivileges(DBUserImpl.java:84)
          at com.dci.intellij.dbn.object.impl.DBUserImpl.hasPrivilege(DBUserImpl.java:92)
          at com.dci.intellij.dbn.debugger.DatabaseDebuggerManager.getMissingDebugPrivileges(DatabaseDebuggerManager.java:163)
          at com.dci.intellij.dbn.debugger.execution.DBProgramRunner.performPrivilegeCheck(DBProgramRunner.java:97)
          at com.dci.intellij.dbn.debugger.execution.DBProgramRunner.access$000(DBProgramRunner.java:41)
          at com.dci.intellij.dbn.debugger.execution.DBProgramRunner$1.execute(DBProgramRunner.java:77)
          at com.dci.intellij.dbn.common.thread.BackgroundTask.run(BackgroundTask.java:41)
          at com.intellij.openapi.progress.impl.ProgressManagerImpl$TaskRunnable.run(ProgressManagerImpl.java:428)
          at com.intellij.openapi.progress.impl.ProgressManagerImpl$2.run(ProgressManagerImpl.java:198)
          at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:223)
          at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcess(ProgressManagerImpl.java:189)
          at com.intellij.openapi.progress.impl.ProgressManagerImpl$6.run(ProgressManagerImpl.java:343)
          at com.intellij.openapi.application.impl.ApplicationImpl$5.run(ApplicationImpl.java:331)
          at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
          at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
          at java.util.concurrent.FutureTask.run(FutureTask.java:138)
          at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
          at java.lang.Thread.run(Thread.java:619)
          at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:125)
          2010-08-24 11:15:18,440 [8764556] INFO - common.DBObjectBundleImpl$10$1 - Error loading data model
          java.sql.SQLException: ORA-00942: table or view does not exist

          1. Aug 24, 2010

            Anonymous

            Hi Dan,
            If I execute this sql stmt, I can see connected user has "DEBUG CONNECT SESSION" and "DEBUG ANY PROCEDURE" privileges.

            SELECT LPAD(' ', 2*level) || granted_role "USER PRIVS"
            FROM (
            SELECT NULL grantee, username granted_role
            FROM all_users
            WHERE username LIKE UPPER('%&uname%')
            UNION
            SELECT grantee, granted_role
            FROM dba_role_privs
            UNION
            SELECT grantee, privilege
            FROM dba_sys_privs)
            START WITH grantee IS NULL
            CONNECT BY grantee = prior granted_role;

          2. Aug 24, 2010

            You're right, you may have the privileges, but the plugin does not recognize that. This is because you do not have access to the system views DBA_SYS_PRIVS and DBA_ROLE_PRIVS.

            But this shouldn't prevent you from debugging your method. Is the method compiled with debug option? (the icon should show a small gray bug). The plugin should check this beforehand and prompt you if the procedure and/or its dependencies are not compiled in debug mode. Did you get the "compile" dialog? Otherwise check the option "Compile dependencies before execution" in your debug configuration.

            1. Aug 24, 2010

              Anonymous

              I think it is calling wrong view "all-user-privileges" ??? instead of "user_sys_privs"

              java.sql.SQLException: Too many failed attempts of executing all-user-privileges. ORA-00942: table or view does not exist

              1. Aug 24, 2010

                not really. "all-user-privileges" ist the internal name for the following sql statement (expected to load the privileges for all users):

                select
                     sp.GRANTEE as USER_NAME,
                     sp.PRIVILEGE as GRANTED_PRIVILEGE_NAME,
                     sp.ADMIN_OPTION as IS_ADMIN_OPTION
                from
                     DBA_SYS_PRIVS sp,
                     DBA_USERS u
                where sp.GRANTEE = u.USERNAME
                order by
                    sp.GRANTEE,
                    sp.PRIVILEGE as

                Can you check whether you can run this statement with your credentials?

                1. Aug 24, 2010

                  Anonymous

                  I don't have privileges to access to dba_users. how ever if change to dba_users to all_users works fine. Following stmt works OK.

                  select
                  sp.GRANTEE as USER_NAME,
                  sp.PRIVILEGE as GRANTED_PRIVILEGE_NAME,
                  sp.ADMIN_OPTION as IS_ADMIN_OPTION
                  from
                  DBA_SYS_PRIVS sp,
                  all_USERS u
                  where sp.GRANTEE = u.USERNAME
                  order by
                  sp.GRANTEE,
                  sp.PRIVILEGE;

                  1. Aug 24, 2010

                    ok. for that there will be a patch today. For the main issue with debugging i do not have an answer yet. Please make sure your procedure is compiled with debug option.

  26. Aug 24, 2010

    Anonymous

    Nice to have schema filters.

    1. Aug 24, 2010

      Roger! will try to add this in one of the future releases. Any idea on how this should look like?

      e.g.
      - having a check-box list with all the schemas where some can be disabled
      - having the option to enter a name pattern for excluded or included schemas

      1. Aug 24, 2010

        Anonymous

  27. Sep 11, 2010

    Anonymous

    This may be a premature report; I'm using PhpStorm EAP 96.1061. I just installed this plugin. Very very nice work. Just what I was looking for.

    The problem is I can't find any way to actually access the associated tool window. I went back and tried it on PhpStorm 1.x and there it was where I expected it. Actually when I restarted the 2.0 EAP the sql editor pane I had opened was still there. So everything seems in good order except a way to start it. The config panels also seem to work fine. 

    Thanks,

    Gordon

    1. Sep 13, 2010

      Hello Gordon,

      the plugin does not support the EAP versions of any IntelliJ related products yet. You were able to install it only because the version compatibility thresholds are not set correctly. I plan to upgrade it for the latest EAP version, but can not tell how soon this will happen. Please continue using it with the old version of PhpStorm, or get Intellij Community Edition to run in parallel with your main IDE for the time being.

      Regards,
      Dan

      1. Sep 13, 2010

        Thanks for the reply. Perils of using an EAP, quite reasonable. But I will keep an eye out for that upgrade.

        Cheers,

        Gordon

        1. Nov 19, 2010

          Hi Gordon. An EAP compatible version of the plugin is now available for download. Give it a try. Appreciate your feedback.
          Cheers, Dan

  28. Oct 02, 2010

    Anonymous

    Nice, waiting for support for PHPStorm EAP versions.

    1. Nov 19, 2010

      EAP versions for PhpStorm and other IntelliJ related products are now supported with version 3.0.1844

  29. Oct 11, 2010

    Anonymous

    Hey, great plugin! Here's another vote for Postgres support.

  30. Oct 18, 2010

    Anonymous

    I wish this was available for Postgresql!

    1. Oct 18, 2010

      ok! I see what's going on here...

      ...do my best to provide something soon.

  31. Nov 29, 2010

    Anonymous

    I just upgraded to RubyMine 3.0. When I try to make a MySQL connection the driver library dialog won't let me select my JDBC driver jar. Everything is always grayed out :-/

    I'm on a Mac/Snow Leopard, if that helps.

    1. Nov 30, 2010

      Not sure how this is possible. Can you please submit a bug report with a screenshot (http://www.jetbrains.net/jira/browse/DBN), or send me an email? I am not aware of any logic disabling the driver library input fields.

  32. Dec 10, 2010

    Anonymous

    Why there is no column defenitions in table tree view and in child structure tool window?
    I can't see dimensions and type of the columns at all... so I can't use this plugin without this simple functionality..
    and +1 vote fore schema filter (regexp or something else)

    1. Dec 10, 2010

      You can see the column type in the tree view (DB Browser) when you hoover with the mouse over or when you enable object properties preview (second button from the right in the browser window). But i agree, the column type and dimensions should be visible without having to take any additional action. I will change this for the future release. Generally any meaningful suggestion is welcome and will be implemented at some point in time. So far no one complained about the missing column details.

      Schema filter request is well noted.. 

      1. Dec 10, 2010

        Now i remember why I did not "publish" this feature. The browser looks somehow crowded with all the details.

        The feature was there from the very beginning, just disabled. Now you can enable it in the "Database Browser" settings. See version 3.0.1864.

  33. Aug 22, 2011

    Exelent tool!

    And one more vote for Postgresql!  :)

  34. Sep 13, 2011

    +1 for Posgresql integration.

    Thanks for developing this tool!

  35. Nov 07, 2011

    Thanks for this database tool, its excellent !!

    and count +1 for PostgreSQL support please, thanks

  36. Mar 30, 2012

    Excellent tool!  The only problem I have with it is the ability to set Auto Commit to true.  From the Connection Settings-->Details tab, I can see the Auto Commit checkbox.  But, it is disabled(grayed-out).  Does anyone know how to enable that checkbox?  I have a database I want to access, but it does not support transactions.  Does this tool support databases without transactions enabled?  Thanks in advance.

    Environment: IntelliJ 11 on OS X Lion.

    1. Jul 05, 2012

      Auto-Commit functionality has been implemented with release 3.0.2289. It is still in early phase, please report any issues you encounter.

  37. Nov 21, 2013

    Hi Dan Cioca . I love the plugin, but I'm having a problem. I have a Joomla database and the default dates are represented like 0000-00-00 00:00:00. When I try to open a table with such a date I get the error: Database error message: Value '000-00-00 00:00:00' can not be represented as java.sql.Timestamp. How can I make it accept this date without canhging the table values?

    I have the plug in installed in PHP Storm 7.0 and DB Navigator ver 3.0 buil 2660.

    Hope you can help me.

    Regards

    Federico Franco

  38. Jan 11, 2014

    Doesn't support postgres. Please vote on: DBN-205 Support Postgres http://dci.myjetbrains.com/youtrack/issue/DBN-205