# FAQ - SQuirreL SQL Client.

- What's a driver and why do I need one? Is it the same as a plugin?
- I removed the directory where SQuirreL was installed, and installed it into a new location. I was surprised to see all of my alias, drivers and preference settings were maintained when I launched SQuirreL from the new location. Where are alias, driver and preference configurations persisted?
- Is there a way to configure Squirrel to show integers without commas? We use integer IDs that look like 1000234. Squirrel is currently showing the ID as 1,000,234
- I don't see Oracle system tables/views list in the code completion dialog. Can I configure this somehow?
- How do I install SQuirreL SQL Client on Windows Vista?
- I get a blank window when running SQuirreL on Fedora Core while using Desktop Effects (Compiz) and the Sun JDK.
- What database systems does SQuirreL work with?
- What version of the JVM is SQuirreL compatible with?
- I get a "Segmentation fault" on Linux
- I get a "Login has timed out" error with Microsoft SQL Server
- I get a "Can't start a cloned connection while in manual transaction mode" error with Microsoft SQL Server
- I don't see an object tree with PostgreSQL
- I get a "NullPointerException" at `BaseSQLEntryPanel.java:23`
- Ingres reports "Error: contsbt: ca.edbc.util.EdbcEx: No MST is currently in progress, cannot declare another cursor." when I connect and nothing is listed under the schema name in the Object Tree.
- Informix reports "The specified table (schema.table) is not in the database" when trying to view the contents of a table in the current schema.
- I am using SQuirreL 2.x and when I connect to a database I get the following warning message:

            JRE/JDBC Version mismatch

            The driver being used ... is not JDBC N.N compliant.
            You should consider getting a more recent version of this driver.

# FAQ - Plugins.

- How do I write a plugin?
- What are these directories "Colin Bell" and "Johan Compagner" in the plugins directory?
- I can't see any "Look and Feel" files.
- I get a `java.lang.NoClassDefFoundError: org/w3c/dom/Node` error when trying to validate SQL.

# Answers - SQuirreL SQL Client.

# What's a driver and why do I need one? Is it the same as a plugin?

Plugins and drivers are two different types of software. A driver allows you to connect to a particular database (Oracle, Sybase, DB2, etc.) We cannot legally ship most drivers with SQuirreL (in the installer or from the update site) as they are proprietary and most database vendors require users to download them directly from their website.
Plugins are another piece of software whose purpose is to enhance SQuirreL's ability to render and work with objects that are stored in the database after a connection is made. Some plugins are database-specific and are named according to the database that they are activated for. When start a session in SQuirreL, if the plugin that corresponds with that database type is installed, it will be activated when a connection is made and SQuirreL will have more capabilities than without that plugin installed and activated. There are other plugins, that are not database-specific (for example, graph, codecompletion, syntax highlighting, etc.) that are activated regardless of the type of database, if they have been installed. If you choose "standard" and no "optional" plugins when prompted by the installer, then you get a useful subset of plugins that are helpful regardless of the database type. You can check to see which plugins you have installed by opening up the plugin status table (Plugins -> Summary), or by looking in the <SQUIRREL_INSTALL_DIR>/plugins folder.

Top

# I removed the directory where SQuirreL was installed, and installed it into a new location. I was surprised to see all of my alias, drivers and preference settings were maintained when I launched SQuirreL from the new location. Where are alias, driver and preference configurations persisted?

All preference data is stored in the <user.home>/.squirrel-sql/ folder. The <user.home> folder is typically /home/<username> on UNIX and C:\Documents and Settings\<username> on Windows. The aliases are stored in SQLAliases23.xml and SQLAliases23_treeStructure.xml, while the driver definitions are found in SQLDrivers.xml. Other preference data is also stored in various files in this directory.

Top

# Is there a way to configure Squirrel to show integers without commas? We use integer IDs that look like 1000234. Squirrel is currently showing the ID as 1,000,234.

Yes there is. Open Global Preferences from the File menu and then click on Data Type Control tab. Scroll down to the bottom. Scroll down to the "FLOAT, REAL, DOUBLE, NUMERIC" section, select "Use default format".

Top

# I don't see Oracle system tables/views list in the code completion dialog. Can I configure this somehow?

For startup performance, fine-grain control was introduced to allow you to specify which schemas are loaded. This is a big deal for Oracle as it has by default many schemas which are rarely used and some that are used occasionally that have tons of objects in them (e.g. SYS). You can control this configuration per alias as follows:

1. Right-click on the alias and choose "Alias Properties".
2. In the "Schemas" tab of the resulting dialog, choose "Specify Schema loading and caching".
3. Click the "Connect database to refresh Schema table" button.(Now, for each schema listed you are able to specify whether or not tables, views and/or procedures are loaded into the object tree, by clicking the cell in Tables, Views, or Procedures.
4. Turn off all schemas and then explicitly add the ones you need for this particular alias. You can achieve this easily with the buttons below the schema table. It forms a sentence that should read "Set <All Objects> in all Schemas to <Don't load>", then click Apply. All Table, View and Procedure cells move to "Don't load" value.
5. Find your schema and change the Tables, Views and Procedures cells for that row to "Load ..." (caching will help if you have a large number of objects that are always present)
6. Next find the SYS schema and change it to load VIEWS.
7. Start a new session with that alias and SYS views will be loaded into the object tree of that new session

Top

# How do I install SQuirreL SQL Client on Windows Vista?

Doug Lawry has reported that the following steps are required in order to install SQuirreL SQL Client on Windows Vista.

1. Start "cmd.exe" using "Run as administrator"
2. Change directory to the file location
3. Run "java -jar squirrel-sql-2.5.1-install.jar"

Top

# I get a blank SQuirreL 2.4 window when running on Fedora Core while using Desktop Effects (Compiz) and Sun Java 1.5. What gives?

Andrew Melton has reported that disabling Desktop Effects (and using metacity) solved the problem. Furthermore, he also reports that after re-enabling Desktop Effects SQuirreL still renders correctly. Additionally, this Java bug seems to be at least related to if not the same problem.

Top

# What database systems does SQuirreL work with?

In theory SQuirreL should work with any DBMS that has a JDBC 2.0 driver. However not all drivers/DBMS's are fully complient with the JDBC 2.0 specification. People have reported SQuirreL working with the following:

- Axion Java RDBMS.
- Daffodil (One$DB)
- Apache Derby (formerly Cloudscape) see Using SQuirreL SQL with Derby written by Susan Cline.
- Fujitsu Siemens SESAM/SQL-Server with the SESAM/SQL JDBC driver.
- Firebird with the JayBird JCA/JDBC Driver.
- FrontBase
- HSQL.
- Hypersonic SQL.
- H2
- IBM DB2 for Linux, OS/400 and Windows.
- Informix.
- CA Ingres 2.6 SP2 with EDBC driver v1.8 (probably works with Caribou Lake driver too).
- InstantDB.
- Interbase with the Interclient JDBC driver.
- Mckoi SQL.
- Microsoft Access with the JDBC/ODBC bridge.
- Microsoft SQL Server with the Microsoft, WebLogic and jTDS JDBC drivers.
- Mimer SQL
- MySQL with the MM MySQL JDBC driver.
- Netezza Data Warehouse with 4.0.4P2 Driver
- Oracle 8i, 9i and 10g with the Oracle thin and OCI drivers.
- Pointbase.
- PostgreSQL 7.1.3 and higher..
- Progress OpenEdge 10.1x.
- SAPDB.
- Sybase with the JConnect JDBC driver. There are currently some issues with Sybase JConnect 5.5 and SQuirreL 1.1 although JConnect 4.5 seems to work.
- Teradata Warehouse
- ThinkSQL RDBMS.
- Vertica Analytic Database

Please send us an email if you have used SQuirreL successfully with other products.

Top

# Which version of the JVM is SQuirreL compatible with?

Different versions of SQuirreL have different minimum JVM version requirements. The following table provides a summary of the version requirements:

SQuirreL Version | Minimum JVM Version
--- | ---
3.0+ | 1.6
2.4 - 2.6.x | 1.5
2.0 - 2.3.x | 1.4.2
1.1 Final | 1.3.1

Top

# I get a "Segmentation fault" on Linux

Early versions of the Sun 1.3.0 VM on Linux throw a segmentation fault when running SQuirreL. Either update to the latest 1.3.1 VM or pass the -classic flag to the Java executable - i.e.

java -classic -cp...

Top

# I get a "Login has timed out" error with Microsoft SQL Server

Early beta versions of the Microsoft type 4 JDBC driver had a bug which would cause this error when trying to connect. Go to the General Tab in the Global Preferences dialog and change the SQL Login Timeout to 0.

Top

# I get a "Can't start a cloned connection while in manual transaction mode" error with Microsoft SQL Server

When connecting to Microsoft SQL Server with auto-commit off or changing auto-commit to false for an existing connection you may get this error. To stop it from occuring enable the 'selectmethod=cursor' driver property in the alias.

Top

# I don't see an object tree with PostgreSQL

Versions of PostgreSQL prior to 7.1.3 didn't supply sufficent metadata to build the object tree in SQuirreL. A fix has been put into SQuirreL so that it would work with PostgreSQL 7.1.2.

Top

# I get a "NullPointerException" at `BaseSQLEntryPanel.java:23`

This is a known problem with JDK1.3.0 on some platforms. Upgrade your Java version to 1.3.1 or better.

Top

# Ingres reports "Error: contsbt: ca.edbc.util.EdbcEx: No MST is currently in progress, cannot declare another cursor." when I connect and nothing is listed under the schema name in the Object Tree

Right-click on the schema in the explorer and select refresh, objects should appear as normal.

Top

# Informix reports "The specified table (schema.table) is not in the database" when trying to view the contents of a table in the current schema

This is a bug in earlier versions of the Informix JDBC driver and is known to be fixed in version 9.4 of Informix and version 2.21 of the Informix JDBC driver.

Top

# I am using SQuirreL 2.x and when I connect to a database I get the following warning message:

        JRE/JDBC Version mismatch

        The driver being used ... is not JDBC N.N compliant.
        You should consider getting a more recent version of this driver.

It's telling you that your JRE version is much newer than your driver's supported JDBC version. In general, it's hard to tell how well tested an older driver is with a newer JVM(1.4+). The odds are good that the newer JVM wasn't available when the older driver was written. So the warning message is there to let you know that you aren't getting the most efficient use from SQuirreL 2.x and your database driver. SQuirreL 2.x requires JVM 1.4 or higher so your choices are limited there. Upgrade your JDBC driver if possible - if not, then you can disable the warning. To disable it go to Global Preferences -> General and uncheck the checkbox next to Warning for JRE/JDBC Version Mismatch

Top

# Answers - Plugins.

# How do I write a plugin?

There is some information in the document plugins.html which you can find in the docs directory within your SQuirreL program directory. This document badly needs a lot of work and its on our todo list. You can also look at the existing plugins to see how they've done things.

If you have an idea for a plugin just send a message to the SQuirreL Developers list giving a brief description. This helps to ensure that two people don't develop the same plugin.

Top

# What are these directories "Colin Bell" and "Johan Compagner" in the plugins directory?

Some people have reported these directories appearing when running JDK 1.3 on Windows 2000. It appears to be a problem with the Hotspot VM. Passing the -classic flag to the java executable fixes the problem - i.e.

java -classic -cp...

Top

# I can't see any "Look and Feel" files.

This can be caused by the What are these directories "Colin Bell" and "Johan Compagner" in the plugins directory? problem.

Top

# I get a java.lang.NoClassDefFoundError: org/w3c/dom/Node error when trying to validate SQL.

If you use the SQL Validator plugin with JDK 1.3 you will need a JAXP 1.1 XML compliant parser such as xml-xerces or the JAXP 1.1 reference implementation. Copy the jar files from your XML parser to the directory <squirrel-sql>/plugins/sqlval/lib. For xml-xerces this should be xerces.jar and for JAXP 1.1 reference implementation this should be crimson.jar and jaxp.jar.

Top