{"text_format":"3","workbook":"xls","n_sheets":1,"sheets":["Main Matrix"],"not_rendered":{"macros":1,"external_links":1,"defined_names":8,"comments":47},"read":"whole","date_system":"1900","formulas":"cached_only"}

{"sheet":"Main Matrix","index":0,"n_rows":142,"n_cols":8,"rows_kept":142,"merged":[[20,0,20,1],[21,0,21,1],[67,0,67,1],[68,0,68,1],[91,0,91,1],[92,0,92,1],[102,0,102,1],[103,0,103,1],[114,0,114,1],[115,0,115,1],[117,0,117,1],[118,0,118,1],[125,0,125,10],[130,0,130,10],[131,1,131,3],[132,1,132,3],[133,1,133,3],[134,1,134,3],[135,1,135,3],[136,1,136,3],[137,1,137,3],[139,0,139,10]],"flags":["formulas_cached_only"]}
["Criteria","Weight","PLSQL\nDev\n7.0",{"$nulls":3},"Mediocre\nRating","Fully\nmeets"]
["Expected of any IDE"]
["All standard editor ops: cut, copy, paste, undo multiple levels, redo, find, find next, find and replace, goto line, block indenting, printing, print preview, saving, block uppercase, block lowercase, etc. Everything you should expect in a free or cheap text editor.",10,4,{"$nulls":3},30,40]
["Keyword highliting, based on file extension. Supports at least sql, java, ora & ctl file types, as well as easily configurable to support more (common script languages used for DBA scripts, like .sh, .csh, .ksh, .pl, .php, etc.)",10,3,{"$nulls":3},30,40]
["Accurate, intelligent, visual utility for comparing and merging files",10,1,{"$nulls":3},30,40]
["Cache last working directory (some tools frequently force re-navigation)",10,4,{"$nulls":3},30,40]
["UI intuitiveness and usability",10,6,{"$nulls":3},30,40]
["Accurate, responsive technical support",10,5,{"$nulls":3},30,40]
["Easy, informative, context-sensitive help",10,5,{"$nulls":3},30,40]
["Advanced, indispensable code editor features: auto-save, find/highlite matching brackets, bookmarks, regular expressions for find/replace, column selection mode, keymap customization, open multiple files at once, close/save/print all open files, and macro recording/playback, character/byte counts, line and column rulers, get filename and path of open file. To get a 4 or 5 in this criterion is rare.",10,4,{"$nulls":3},30,40]
["Auto-completion/replace facilities to store shortcuts or codes which expand to oft-repeated syntax and code blocks (TOAD was the pioneer here).",10,4,{"$nulls":3},30,40]
["Ability to attach links to projects. Links could be design docs, source data files, source data URIs, To-Do lists, scratch notes, etc.",5,4,{"$nulls":3},15,20]
["Private and sharable To-Do lists. Bonus if shareable To-Do list can be mapped to object names or project items, so that tasks are \"remembered\" when certain files or DB objects are opened.",5,4,{"$nulls":3},15,20]
["Customizable keyword dictionary",5,4,{"$nulls":3},15,20]
["grep-like utility to search files for literals and regexp. Should be able to search sub-directories and do search-replace for single file, multiple files, open files or entire directory tree.",5,2,{"$nulls":3},15,20]
["Seamless integration with market-leading SCC tools",5,4,{"$nulls":3},15,20]
["Hooks and features to enable Agile-oriented coding and testing, like Junit-like testing, regression test suites and graphical reporting of results, refactorings, etc.",5,3,{"$nulls":3},15,20]
["Bookmark menu/window for internet shortcuts (useful for tying to Oracle technical web sites, LAN repositories of standards and procedures, Oracle HTML documentation, etc.)",1,5,{"$nulls":3},3,4]
["Customizable code formatting/auto-beautifiers for other supported languages, or hooks for plugins (C/C++, HTML, Java, Perl)",1,1,{"$nulls":3},3,4]
["Able to ftp files to/from remote hosts",1,4,{"$nulls":3},3,4]
["Subtotals",null,475]
["Subtotals w/o extra cost items",null,475]
[]
["Expected of any DB programming tool"]
["Fully functional without installing anything or running special scripts on the DB",10,4,{"$nulls":3},30,40]
["Fast, filterable, dockable, graphical, full-featured Database browser",10,4,{"$nulls":3},30,40]
["Maintain single connection to single instance (great when debugging processes that use global temporary tables).",5,4,{"$nulls":3},15,20]
["Maintain multiple concurrent connections to single instance (multi-threaded, makes a robust application that doesn't lock up when compile or DML runs long, locks or gets lost).",10,5,{"$nulls":3},30,40]
["Maintain single concurrent connections to multiple instances (so not manually connecting all day; do it once and keep them up)",5,2,{"$nulls":3},15,20]
["Maintain multiple concurrent connections to multiple instances (nirvana).",10,2,{"$nulls":3},30,40]
["Customizable templates for stored PL/SQL object skeletons, team-shareable on LAN (painless compliance with company standards).",10,5,{"$nulls":3},30,40]
["Customizable templates for frequent code blocks/constructs/queries, able to be shared on LAN (to speed team development).",10,5,{"$nulls":3},30,40]
["Drag-and-drop calls to built-in DB routines and functions",10,4,{"$nulls":3},30,40]
["Built-in SQL statement tuning tools.",10,3,{"$nulls":3},30,40]
["Script Execution: able to run selected portions of script, single SQL DML, multiple SQL statements in one script, etc.",10,5,{"$nulls":3},30,40]
["Powerful, visual table editor: query and edit entire table, query and visually modify subsets of larger table, able to copy, save, sort, print and export. Able to display initial result set rapidly, even if final result set is huge. Flexible features for column and row display, drag-and-drop column headers to SQL queries.",10,5,{"$nulls":3},30,40]
["Export tables and result sets to clipboard (for pasting into Email, Excel and project documentation) and various useful formats (xls, tsv, csv, xml, html, rtf & pdf most useful), as well as simple dump files or flat-file INSERT script.",10,4,{"$nulls":3},30,40]
["Tools/features to help importing data and external tables from dump, SQL, xls, csv, tsv, and xml files.",10,5,{"$nulls":3},30,40]
["Accurate reverse generation of DDL for all DB objects, able to customize if drops, grants and inserts are to be generated as well",10,4,{"$nulls":3},30,40]
["Context-sensitive, object-specific menu for every type of object in the DB, no matter where that object's name is found in the UI.",10,6,{"$nulls":3},30,40]
["Edit scripts without being connected to DB",10,4,{"$nulls":3},30,40]
["Visual utility for comparing the DDL or code behind database objects; MUST be able to compare source files to reverse engineered DB objects, as well as source file to source file and DB object to DB object.",10,3,{"$nulls":3},30,40]
["Customizable code formatter/auto-beautifiers for SQL & DB's stored object language. Should be able to manually execute to apply configured keyword case and other rules to selection or entire file as well.",10,4,{"$nulls":3},30,40]
["Audit stack of past SQL statements, not tied to sessions, windows or DB's",10,5,{"$nulls":3},30,40]
["Able to cancel any long-running DML sent to DB",10,4,{"$nulls":3},30,40]
["Easily switch the DB connection context so a SQL script can be run against several schemas/DB's",10,4,{"$nulls":3},30,40]
["Multi-select objects in the DB object browser/navigator, in order to perform common operations on them, like bulk analyzing, bulk dropping, etc.",10,4,{"$nulls":3},30,40]
["Graphical, recursive display of dependencies in both directions (tables, PL/SQL objects including triggers and views, synonyms, sequences and queues; bonus if features for constraint, index, db link and directory dependencies)",10,4,{"$nulls":3},30,40]
["Reverse engineering can capture any grants involving the object, optionally include drop and revoke statements at start of script. Bonus if referencing FKs are automatically dropped and rebuilt. Another bonus if scripts to backup and restore data are generated when dropping a table.",10,4,{"$nulls":3},30,40]
["Graphical grid/browser to allow master/detail data navigation.",5,4,{"$nulls":3},15,20]
["Utility to compare table data across schemas and instances. Able to remove certain columns (like timestamps and other instance-specific data) from compare set. Able to merge and syncronize table data that is out of sync.",5,3,{"$nulls":3},15,20]
["Features to check for adherence to in-house standards (naming, aesthetic rules, and other customizable conventions).",5,2,{"$nulls":3},15,20]
["Highlight code blocks (packaged routines, inner named and anonymous blocks, control blocks, etc.) Highlight every use of a selected identifier in open windows. Helps navigating nasty/complex legacy code.",5,5,{"$nulls":3},15,20]
["Configurable formatter for custom or reverse-engineered DDL.",5,2,{"$nulls":3},15,20]
["Auto-select the SQL statement around the cursor when Run/Execute is pressed. (one of the most used features during a day of DB programming).",5,4,{"$nulls":3},15,20]
["Graphical modeling tool. Reverse engineer. Subsets. Print. Group and color. Auto-layout and straight, orthogonal and elbowed lines. Export to portable format (SVG, JPG, EMF and/or PDF). Zoom, pan and magnifier. Options to view constraints, defaults, column attributes, relationship names, etc.",5,5,{"$nulls":3},15,20]
["Maintain and organize connection profiles, many per database instance, including encrypted passwords.",5,5,{"$nulls":3},15,20]
["Drag-and-drop calls to user-created standalone and packaged routines. Auto-generate common DML statements against selected objects.",5,4,{"$nulls":3},15,20]
["Visual execution/testing of routines and functions (including those inside Oracle packages and object types).",5,5,{"$nulls":3},15,20]
["grep-like utility to search stored DB objects for literals and regexp",5,5,{"$nulls":3},15,20]
["Filter what the DB browser displays, at least able to separate by owner, if not by type, name, status & other object metadata",5,5,{"$nulls":3},15,20]
["Modify objects in the DB, but default state of reverse-engineered objects is read-only",5,5,{"$nulls":3},15,20]
["Features to aid in developing test data for tables.",5,4,{"$nulls":3},15,20]
["Graphically identify when connected to sensitive, production databases.",5,4,{"$nulls":3},15,20]
["Some support for other industry-leading DB's (DB2, Sybase, SQL-Server, Informix, Access, MySQL, ODBC-compliant)",1,1,{"$nulls":3},3,4]
["Generate library of documentation (HTML or PDF) for existing code objects.",1,4,{"$nulls":3},3,4]
["Graphically map or visualize complex queries.",1,4,{"$nulls":3},3,4]
["Subtotals",null,1319]
["Subtotals w/o extra cost items",null,1309]
[]
["Specific to Oracle or PLSQL",{"$nulls":5},30,40]
["Generate PL/SQL anonymous blocks for procs, funcs, and type body methods (for testing). Must be able to handle LOB, UDT, collection, record and ref cursor parameters.",10,5,{"$nulls":3},30,40]
["Run explain plan, with AND without actual SQL execution. Must be able to capture and export/paste all or some of the plan. Ideally shows # of rows accessed and execution time per step. Should automatically convert PL/SQL variables and dates so they don't error on the EXPLAIN.",10,5,{"$nulls":3},30,40]
["Tight link to and emulation of SQL*Plus. If developer still has to use SQL*Plus, then this feature isn't fully met.",10,5,{"$nulls":3},30,40]
["Offline SQL and PL/SQL syntax checking",10,0,{"$nulls":3},30,40]
["Provides easy identification of error by positioning cursor on error location and displaying appropriate oerr messages",10,5,{"$nulls":3},30,40]
["View and edit table column contents of complex and advanced Oracle datatypes (nested tables, varrays, objects, CLOB, BLOB, XMLTYPE, BFILE, images)",10,5,{"$nulls":3},30,40]
["Full support for object-centric new features. Expect no errors or bugs when it encounters new keywords, new datatypes, new table structures, new SQL syntax, accurate DDL extraction, recycle bin, new PLAN_TABLE, etc. (this rating gets stale and irrelevant as an old product's release ages)",10,4,{"$nulls":3},30,40]
["Hooks and graphical tools into Oracle's profiler.",10,4,{"$nulls":3},15,20]
["Smooth handling and display of strong AND weak ref cursors, especially 9i SYS_REFCURSOR.",10,5,{"$nulls":3},15,20]
["SQL & PL/SQL code analysis",5,4,{"$nulls":3},15,20]
["Ability to forward engineer HTML pages into HTMLDB, PL/SQL Server Pages, and PL/SQL Web Toolkit (htp,htf)",5,0,{"$nulls":3},15,20]
["Hook to browser or internal viewer to allow debugging and viewing of HTP/HTF output",5,4,{"$nulls":3},15,20]
["Graphical tool for analyzing and mapping the topology/dependencies between packages in a given schema (across schemas for shared code is icing on the cake).",5,1,{"$nulls":3},15,20]
["Utility to compile selected or all invalid objects. Auto-discovery of dependencies between invalid objects. Auto refresh after recompilation. Copy list of invalid. See/copy/print errors for each and entire list.",5,5,{"$nulls":3},3,4]
["Ayncronous features: hooks into dbms_aq stuff, dbms_pipe, dbms_alert, changes in v$session via dbms_application_info, wake up and debug upon db object being called from external caller.",1,2,{"$nulls":3},3,4]
["Hooks and tools to assist in working with Oracle XMLDB",1,1,{"$nulls":3},3,4]
["Editors and hooks to view/modify Oracle connection info in sqlnet.ora, tnsnames.ora, Oracle Names servers, or OID.",1,3,{"$nulls":3},3,4]
["Ability to edit, syntax check & compile Java, including hooks to new Oracle java and XML command-line tools, like loadjava, etc.",1,3,{"$nulls":3},3,4]
["Hooks and features to allow opening and saving of all project/source files to/from Oracle OFS (used to be IFS).",1,4,{"$nulls":3},3,4]
["Easily turn on auto-trace or tkprof for a statement or session.",1,5]
["Subtotals",null,418]
["Subtotals w/o extra cost items",null,418]
[{"$nulls":6},30,40]
["Expected of a PL/SQL debugging facility",{"$nulls":5},30,40]
["Automatically handle compile debug dependencies. Ideally parse-ahead and add debug information to objects in anticpated call tree or at least where breakpoints have been set. At least prompt user for option to compile-debug dependent objects.",10,2,{"$nulls":3},30,40]
["Set breakpoints in triggers and stored routines, be they file-based or objects pulled from database, before and during debugging.",10,5,{"$nulls":3},30,40]
["All standard debugger features: step in/out/over, run to cursor, halt, dynamic breakpoint setting/unsetting, variable watch and modify, conditional breakpoints. Bonus point if mouse hover over variable shows value.",10,5,{"$nulls":3},30,40]
["Able to view and modify contents of all variables and view all parameters within scope:\nScalars including RAW, [U]ROWID, strings of length 4000 & 32767\nUser-defined objects\nUser-defined records (accessible from package specs)\nTable-based records\nIndex-by tables (scalar and complex like object and record)\nCollections (scalar and complex like object and record)\nCLOB, BLOB, BFILE, XMLTYPE",10,5,{"$nulls":3},15,20]
["Able to attach to and debug calls to PL/SQL objects initiated by front-end applications over which development has no control (3rd party, JDBC, OCI, etc)",5,0,{"$nulls":3},15,20]
["Full support for debugging triggers (includes instead-of triggers) and type methods.",5,4]
["Able to show DBMS_OUTPUT AS IT IS PRODUCED by programs in debugging session, not afterwards",5,2]
["Subtotals",null,200]
["Subtotals w/o extra cost items",null,200,{"$nulls":3},30,40]
[{"$nulls":6},30,40]
["Specific to DBA's and Sr. Oracle Programmers",{"$nulls":5},30,40]
["Create and maintain all Oracle objects: drop, create, truncate, rename, alter, etc.",10,2,{"$nulls":3},15,20]
["View and administer sessions: all v$session info, current SQL, past SQL, statistics, locks, kill, trace into, auto-refreshable session list.",10,5,{"$nulls":3},15,20]
["Tool to compare entire schemas. Bonus if schedulable, notifiable, and versionable so that snapshots of schemas can be compared. Extra bonus if it can compare entire instance.",10,3,{"$nulls":3},15,20]
["Misc DBA tasks: export, import, manage tablespaces, relocate indexes, users, roles, profiles, system & object permissions, log miner, analyze, rebuild, locks, wait events, sessions, extents, parms, chained rows, SGA, server stats, space estimation, flashback, transportables, online redefinition of tables and indexes, monitoring indexes, 10g scheduler wizards.",5,2,{"$nulls":3},3,4]
["DBA-level tuning tools: V$ (dictionary) viewer, SGA viewer, Explain top SQL in SGA, tracing other sessions, interface for PFILE and SPFILE parameters, interface for tunable parameters in OS, pinning and pool optimization, interface to TKPROF",5,2,{"$nulls":3},3,4]
["Some unique (not found in OEM) DBA-centric 10g new features (Data Pump, Instant  Client, UNDO advisor, log mining, 10g scheduler, etc.)",5,1]
["Transparent handling of connections, object browsing, and executing scripts on databases from multiple vendors.",1,0,{"$nulls":3},1992,2656]
["DB data dictionary/object reports in publishable (HTML, PDF, etc.) format. Bonus if schedulable and hooks into email for automated notifications.",1,4]
["Subtotals",null,129]
["Subtotals w/o extra cost items",null,129]
[]
["Total Score (Mediocre is 1992, Awesome is 2656)",null,2541]
["Totals without extra cost options",null,2531]
["Notes:"]
["Top three current products are bolded. Leader is bolded in red."]
["If the score is less than Mediocre, think carefully before purchasing."]
["Meanings of colored cells or values is explained on the Glossary tab."]
["For some reason size and position of cell comments do not remain static. If you cannot see the comment, right-click the cell and pick Show Comment, stretching the comment block with the handles that appear."]
[]
["Weights were assigned based on the following guidelines"]
[1,"Icing on the cake, but won't be used much"]
[5,"Nice to have"]
[10,"Must have, productivity heavily impacted without it"]
[]
["Scores were given based on the following guidelines"]
[0,"Does not meet",null,null,"No matching feature -- or it is so buggy that it does not deserve a score."]
[1,"Minimally meets",null,null,"Usually involves a manual workaround to get part of the desired feature set"]
[2,"Partially meets",null,null,"Sports only a small part of a feature set"]
[3,"Mostly meets",null,null,"Lacking a few features -- or has all the features, but implemented poorly in comparison"]
[4,"Fully meets",null,null,"Has all features of the given criteria."]
[5,"Exceeds",null,null,"Meets criterion and then adds new features or better implementation than all competitors."]
[6,"Far exceeds",null,null,"All criteria of score 5, plus pioneering feature addition; huge leap in functionality, or large competetive advantage gap."]
[]
["Meaning of cell background color"]
[null,"Low to moderate extra cost option/product provides this functionality."]
[null,"Costly option/product provides this functionality."]