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:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
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*).
That's weird... I wonder if "ttest" is a reserved keyword in Firebird. Or if it's just a quirk in the JDBC driver.
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
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.