Chapter 8: Solve Connection and Import Problems
Fix Import Errors Caused by Field Names
These errors come from the gateway when ASQL, or any other SQL tool, runs a statement for an APPX file. The full text appears on ASQL's status line after [Dharma][ODBC Dharma Driver ...][Dharma/SDK].
| Error | What it means | What to do |
|---|---|---|
-20003 Syntax error | A name is a word that is refused everywhere, starts with a digit, or contains something other than letters, digits and underscores. | Rename the column in the script, or put the name in double quotes. |
-20049 Keyword used for a name | A column name is a word this gateway refuses as a new name. Queries could still use it. | Rename the column, or quote it once in the CREATE TABLE statement. |
-20248 Identifier too long. | A name is longer than 64 characters. | Shorten the name in the script. |
-20010 Duplicate column specification | Two columns have the same name, often two field names that differ only in punctuation. | Rename one of them in the script. |
-20041 Table/View/Synonym already exists | The file already has a SQL table. After a rename with Try Again, Import Table shows this error and puts the APPX names back in the pane, but the table keeps the new names. | To replace the table, choose Drop Table first. To see the names it has, query it. |
-20005 Table/View/Synonym not found | The table doesn't exist, for example a view whose table was dropped, or a file that hasn't been imported. | Import the file again. |
-20006 Column not found/specified | A column name in a query doesn't match. A name created in double quotes has to be written with the same capitals. | Use the exact name, for example "suffix", not "SUFFIX". |
-30008 Packet Size Mismatch | Seen on this edition after a statement with a quoted name longer than 32 characters. The connection then fails every statement. | Close and reopen the connection, and keep quoted names to 32 characters. |
For the rules behind these errors and the full lists of refused words, see SQL Name Rules and Reserved Words and How APPX Files and Fields Become SQL Tables and Columns.