Menu

Table null cannot be found

Help
2004-11-01
2013-04-25
  • Christian Marker

    Hello,

    I recently downloaded ConsultComm 3.1 and now I'm trying to use it together with my Firebird 1.5.1 Database. I installed the appropriate JDBC Driver and configured ConsultComm as follows:

    ----------------------------------------
    Driver File: /usr/share/jdbc3-firebird/lib/firebirdsql-full.jar

    Driver: org.firebirdsql.jdbc.FBDriver

    URL: jdbc:firebirdsql://remote.host.name:3050//var/db/firebird/test.fdb

    Table: ttest

    [x] Don't specify a Database

    ----------------------------------------

    When I click on the "Test" button, I am able to give my username and password. But when I click "OK", I get the error message: "Table null cannot be found".

    That's weird because I 1) the table "ttest" exists in the database test.fdb on the remote host and 2) is specified in CC's configuration dialog.

    Any idea what's wrong?

    Regards,
    Christian

     
    • Christian Marker

      After fiddleing around for hours now, I finally got it[1]: I had to put double quotes ("ttest") around the table name...

      Hope, everything will work fine now :)

      [1] (five minutes after I opened this thread here *g*).

       
      • DeckerEgo

        DeckerEgo - 2004-11-01

        That's weird... I wonder if "ttest" is a reserved keyword in Firebird. Or if it's just a quirk in the JDBC driver.

         
    • Christian Marker

      From http://firebird.sourceforge.net/manual/qsg15-firebird-sql.html:

      --- snip -------
      Double-quoted identifiers

      Before the SQL-92 standard, it was not legal to have object names (identifiers) in a database that duplicated keywords in the language, were case-sensitive or contained spaces. SQL-92 introduced a single new standard to make any of them legal, provided that the identifiers were defined within pairs of double-quote symbols (ASCII 34) and were always referred to using double-quote delimiters.

      The purpose of this ?gift? was to make it easier to migrate metadata from non-standard RDBMSs to standards-compliant ones. The down-side is that, if you choose to define an identifier in double quotes, its case-sensitivity and the enforced double-quoting will remain mandatory.

      Firebird does permit a slight relaxation under a very limited set of conditions. If the identifier which was defined in double-quotes:

         1.

            was defined as all upper-case,
         2.

            is not a keyword, and
         3.

            does not contain any spaces,

      ...then it can be used in SQL unquoted and case-insensitively. (But as soon as you put double-quotes around it, you must match the case again!)

      --- snip -------

      According to the last paragraph, I think Firebird requires the double quotes around the table name, because I created the table with the following command: CREATE TABLE "ttest" (...);

      Maybe you want to put this in a README file? It would also be nice if CC's database capabilities would be explained in more detail with some sample configurations :)

      Thanks for reading, though,
      Christian

       
      • DeckerEgo

        DeckerEgo - 2004-11-01

        Yup. I'll add this one to the FAQ and the JDBC help document. Since I haven't released 3.1.1 yet I'll add it to the next release before I upload it tonight.

         

Log in to post a comment.

MongoDB Logo MongoDB