Subject Re: complex indexes vs index key fields
From Mervyn Bick <invalid@invalid.invalid>
Date Tue, 28 Jul 2020 10:55:06 +0200
Newsgroups dbase.getting-started

On 2020-07-28 07:02, Gaetano De Luisi wrote:
> It seems that 32-bit is the only one visible to the BDE administrator. Now I realise that those are drivers and the 32/64 bit versions are not interchangeable...
>

dBASE is 32-bit so you definitely need the 32-bit ODBC driver.  This
should access 64_bit MySQL.  It is probably a good idea to also install
the 64-bit driver as well "just in case". :-)  Just make sure you use
the 32-bit driver in your dBASE connection strings.

> I have two choices still: ANSI or Unicode. For testing purposes I chose ANSI as I only need accented characters, not the whole range of encodeable characters, but I must say I don't fully understand the implications. The description of the database on the server says latin-swedish-case insensitive, so that seems to match the ANSI character set as far as my character set knowledge goes.
>

If you, or your users, don't read a language which needs Unicode to
store it's characters you don't need Unicode. :-)

> I tried ANSI and was able to set up the the ODBC alias and the BDE alias. After stumbling on a few hurdles, the following tutorial helped me create a table from dBase into the SQL database  (http://www.dbasehost.com/tutorials/mysql1.php).

Part of the advantage of moving to a SQL server is no longer being
dependent on the BDE.  Use ADO instead.  To make the tables visible in
the Navigator set up a Connection Alias in Desktop Properties.

You could manage MySql from dBASE but you would be be far better served
by getting a dedicated MySql manager.  The freeware version of EMS SQL
Manager for MySql should be more than adequate to get started with.

> I then tried to append the data from my DBF file to the server but that is taking forever, about 350 records per minute... can I interrupt the append process without corrupting teh database? can you suggest a more efficient way to load data to the database server?

I don't use MySQL but I could insert the 7577 records in the test data
you sent me into Firebird in 45 seconds.  That's not particularly fast
but it's a bit quicker than 3.6 hours at 35 records per minute. :-)

MySql is known to be geared more to reading speed rather than writing
speed but 35 records a minute is ridiculous.  There has to be a way of
speeding things up.  Akshat can be of more help here than I can as I
don't use MySql but if you show us how you load the data perhaps we can
help.

Mervyn.