Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 5 of 5 total
Thread DbSys Export Request
Fri, Dec 21 2007 12:44 PMPermanent Link

Dave Harrison
When reverse engineering a table with SQL output, DbSys will use an
Insert Into clause that uses "+" to concatenate long strings.
Unfortunately not all databases (like MySQL) support this syntax. It
would be better if you gave uses a choice to put the entire text field
on one line so it does not wrap.

Dave
Fri, Dec 21 2007 1:34 PMPermanent Link

Eryk Bottomley
Dave,

> When reverse engineering a table with SQL output, DbSys will use an
> Insert Into clause that uses "+" to concatenate long strings.
> Unfortunately not all databases (like MySQL) support this syntax. It
> would be better if you gave uses a choice to put the entire text field
> on one line so it does not wrap.

....or else forget about MySQL and use ...errr ....DBISAM!! It parses
DBSYS reverse engineering output perfectly Wink

Seriously, one can't expect a database to bend over backwards providing
facilities to expedite migrating away to a competing product. This
sounds like a feature suggestion for the MySQL team to me.

Eryk
Fri, Dec 21 2007 4:00 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Dave,

<< When reverse engineering a table with SQL output, DbSys will use an
Insert Into clause that uses "+" to concatenate long strings. Unfortunately
not all databases (like MySQL) support this syntax. It would be better if
you gave uses a choice to put the entire text field on one line so it does
not wrap. >>

MySQL doesn't support the + concatenation operator ?  What does it use - the
|| operator ?  If so, then perhaps I can convert it to using that operator
instead.

--
Tim Young
Elevate Software
www.elevatesoft.com

Fri, Dec 21 2007 6:28 PMPermanent Link

Dave Harrison
Eryk Bottomley wrote:
> Dave,
>
>> When reverse engineering a table with SQL output, DbSys will use an
>> Insert Into clause that uses "+" to concatenate long strings.
>> Unfortunately not all databases (like MySQL) support this syntax. It
>> would be better if you gave uses a choice to put the entire text field
>> on one line so it does not wrap.
>
>
> ...or else forget about MySQL and use ...errr ....DBISAM!! It parses
> DBSYS reverse engineering output perfectly Wink

Been there done that! Smile
DBISAM unforunately won't handle loading tens of millions of rows fast
enough. MySQL is about 10x faster. EDB, NexusDb and Sqlite isn't fast
enough either. (Takes too long to build indexes). So I converted the app
from DBISAM to MySQL. I didn't want to do it, but I had no choice. Now I
stil have some data files in DBISAM I have to convert over to MySQL.

Dave
Fri, Dec 21 2007 6:34 PMPermanent Link

Dave Harrison
Tim Young [Elevate Software] wrote:

> Dave,
>
> << When reverse engineering a table with SQL output, DbSys will use an
> Insert Into clause that uses "+" to concatenate long strings. Unfortunately
> not all databases (like MySQL) support this syntax. It would be better if
> you gave uses a choice to put the entire text field on one line so it does
> not wrap. >>
>
> MySQL doesn't support the + concatenation operator ?

Nope.

> What does it use - the
> || operator ?  

I wish it were that easy. Only SQL server uses the "+".
MySQL uses ConCat(Str1,Str2,Str3...,Strn) and so does Oracle.
Oracle also uses ||.

I've written a routine in Delphi that copies one table to another using
Datasets. I guess I'll continue using that. It's a bit of a pain because
it requires recompiling. I suppose I could build a front end for it to
select DBISAM files and the MySQL destination table. Hmmm.

Dave
Image