#355 Want a checkbox to show only default schema

open
Rob Manning
5
2012-12-29
2009-06-24
Thor Wilson
No

When I check the checkbox "show only default catalog or schema" it shows my default catalog but it fails to filter and show only my default schema (dbo) .

Why am I not able to tell Squirrel SQL Client to only display to me the "dbo" schema? It would be nice if, in my Database Connection properties that I could specify the default schema so that all the other available schemas are not visible. It is very annoying that I have to squirrel through a list of 15 different schemas and find the "dbo" schema and then open that one.

Isnt this a normal request? Tools like SQLRunner.exe and Datatool.exe do it this way so why doesnt SQuirrel SQL conform?

Discussion

  • Rob Manning
    Rob Manning
    2009-06-24

    If you generally are always connecting to the same type of database (SQL-Server/Sybase), or even better always the same alias, then object tree filters can provide this functionality for you. Open File -> New Session Properies -> Object Tree and
    add "dbo" to "schema include". If always the same database then you can also add your catalog as well to the "Catalog include".

    Still, I agree, this would be better implemented as an alias property, so that it could be independently specified per alias.

    Rob

     
  • Andy Stevens
    Andy Stevens
    2011-09-30

    For filtering the schema, I find the Schema Loading and Caching in the Alias Properties works well enough. I just set everything to Don't Load, then change the entry for the specific schema(s) I want (usually just dbo) to Load, either caching or not as desired. In the object tree I then only see the selected schema(s) below the database. At least, that's the way it behaves with Sybase jConnect, don't know if it's the same with other databases or drivers.

    An enhancement I would like, however, is to be able to select the catalogs in similar fashion. On most of our database servers (even on the dev server) the login I'm allocated will only have access to a particular user database (plus the appropriate system databases like master, tempdb, sybsystemprocs, ...) So whenever I connect I get dozens of error messages in the messages panel like
    "Error loading object type DatabaseObjectType.UDT_TYPE_DBO. Error: com.sybase.jdbc3.jdbc.SybSQLException: Server user id 212 is not a valid user in database 'someone_elses_database'
    . See SQuirreL Logs for stackttrace."
    while the object tree and Catalog dropdown in the toolbar continue to show every database on the server even though I can't access most of them. I can use the object filter to restrict the tree to only those I've access to, but it would be nice if I could specify this in the Alias Properties and avoid Squirrel attempting to load objects from (and even display) the others.

    Where is the "show only default catalog or schema" checkbox mentioned above, by the way? I don't see it in either the alias or session properties (Squirrel v3.2.1). Is it driver-specific?

    Andy