[ic] Novice Help: error - Table Not Found in database - Can Interchange work with Interbase?

Marco Carcano interchange-users@icdevgroup.org
Tue Apr 22 18:33:00 2003


Quoting Racke (<racke@linuxia.de>)
Quoting Marco (info@draksoft.com)
>>I'm trying to develop a site using interchange and an italian desktop
>>program. This program uses borland interbase 6.0 as DB.
>>I'd like to have interchange accessing this DB. After having installed and
>>tested Perl DBD:Interbase I started writing a catalog.cfg from scratch:
here
>>is what I wrote:
>>
>>######### START OF CATALOG.CFG ###########
>>
>>Database articoli articoli.sql
dbi:InterBase:/opt/interbase/databases/vascabella.gdb
>>Database articoli USER myusername
>>Database articoli PASS mypassword
>>Database articoli TAB
>>
>>NoImport articoli
>>ProductFiles articoli
>>VendURL http://www.vascabella.it/cgi-bin/prova
>>SecureURL http://www.vascabella.it/cgi-bin/prova
>>MailOrderTo sales@vascabella.it
>>
>>#########################################
>>
>>Then I wrote an index.html page;
>>
>>######## START OF INDEX.HTML ###########
>>
>>[comment]
>>ui_template: Yes
>>ui_template_name: top
>>[/comment]
>>
>>[tmp page_title]__COMPANY__ -- Benvenuto[/tmp]
>>
>>
>>@_TOP_@
>>@_LEFT_@
>>[query sql="select descrizione from articoli" list=1]
>>column_A: [sql-param descrizione]<br>
>>[/query]
>>
>>@_BOTTOM_@
>>##########################################
>>Note *** table articoli has not a field called sku: the primary key here
is
>>called articolo and is varchar(7).
>>
>>I restart interchange and all seems right, but if I try to access the
>>index,html page, the page is displayed without giving results.
>>I found this error in error.log:
>>"151.29.252.65 FB7Yx4Kx:151.29.252.65 - [22/aprile/2003:06:17:09 -0400]
>>prova /cgi-bin/prova/index.html Table articoli not found in databases"
>>I'm sure DBD:Interbase is working and that I have all the rigts to access
>>the DB (I use interbase 6.0 since it has been released).
>>Again, if I follow the instruction in the tutorial, but substituting the
>>original DB with an interbase DB I got everything working.
>>Am I missing somthing in catalog.cfg?

Quoting Racke (<racke@linuxia.de>)
>No, but you probably need to help the query tag a bit. Try:
>
>[query table="articoli" sql="select descrizione from articoli" list=1]
>[list]
>column_A: [sql-param descrizione]<br>
>[/list]
>[/query]
Thanks Racke,
I tried this, but it doesn't work. Seems like interchange could connect with
the database, but does not "link" the table articoli:
.
Don't know if this can tell you more:
1) when I restart interchange a file named articoli.autonumber is created
2) the code below put into index.html produces the word ="products" and not
"articoli". Is this right?
[perl]$Config->{ProductFiles}[0][/perl]
3) the same as 2) if I add to catalog.cfg
Database products products.txt
and modify ProductFiles directive into
ProductFiles articoli products
again I got "products" as output of  [perl]$Config->{ProductFiles}[0][/perl]

vielen dank :O)

PS:
I tried also  to modify the (working!) demo catalog: I did as follow
cp -Rp dbconf/mysql dbconf/interbase
then I modified the DSN from dbi:mysql:vascabella into
dbi:interBase:/opt/interbase/databases/vascabella.gdb into catalog.cfg,
and added the follow
ifdef INTERBASE
    DatabaseDefault NO_ASCII_INDEX 1
    include dbconf/interbase/mysql.cfg
endif
into catalog.cfg - I didn't modify file names in order to avoid mistakes.
I modified also products/variable.txt: I added a variable INTERBASE and set
it to 1 and modified DSN, USER and PASS
When I restarted the frustrating result was only to realize that interchange
connected to  Interbase (right login), but got several errors.
I thought that it can't create a DB alone, so I creted a blank DB from
interbase's console.
Now interchange complained it could not prepare any statement to fill
tables - that's right.
The first table missing was COUNTRY. I manually created the table as
described in country.mysql.
When restarted I got several errors, but I didn't got the one about table
COUNTRY. That's right: the connection is OK. So I had a look (by Interbase
console) to view if the table has been filled with the values contained in
country.txt, but I found an empty table
How is this possible?

Thanks in advance