I've tried sending update and insert queries and a load data local command
via a query table. It's a bit hack, but I don't see another way. This
results in a hard crash of Excel.

I'm running Excel 2004 (PPC MAC, OS X 10.4) and mysql (similar problem w/
another database).

Here's the code:

Sub foo()
connstring =
"ODBC;DSN=mstestmysql5;UID=tlg;PWD=4756;Database=mstest;OPTION=65539"

sqlstring = "LOAD DATA LOCAL INFILE '/Users/Shared/bar.txt' INTO TABLE
tFirstPassEstimates"
With Worksheets(1).QueryTables.Add(Connection:=connstring, _
Destination:=Range("b1"), Sql:=sqlstring)
.Refresh
End With

End Sub

Here's the odbc trace:
Microsoft Excel A000EF98 ENTER SQLExecDirect
SQLHSTMT 0x750dc20
SQLCHAR * 0x750e380
| LOAD DATA LOCAL INFILE '/Users/Shared/ba |
| r.txt' INTO TABLE tFirstPassEstimates |
SQLINTEGER 77

Microsoft Excel A000EF98 EXIT SQLExecDirect with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x750dc20
SQLCHAR * 0x750e380
SQLINTEGER 77

Microsoft Excel A000EF98 ENTER SQLNumResultCols
SQLHSTMT 0x750dc20
SQLSMALLINT * 0xbfff7ae0

Microsoft Excel A000EF98 EXIT SQLNumResultCols with return code 0
(SQL_SUCCESS)
SQLHSTMT 0x750dc20
SQLSMALLINT * 0xbfff7ae0 (0)

Microsoft Excel A000EF98 ENTER SQLError
SQLHENV 0x750b5d0
SQLHDBC 0x750d6a0
SQLHSTMT 0x750dc20
SQLCHAR * 0xbfff7858
SQLINTEGER * 0xbfff7854
SQLCHAR * 0xbfff7860
SQLINTEGER 256
SQLSMALLINT * 0xbfff7850

Microsoft Excel A000EF98 EXIT SQLError with return code 100
(SQL_NO_DATA_FOUND)
SQLHENV 0x750b5d0
SQLHDBC 0x750d6a0
SQLHSTMT 0x750dc20
SQLCHAR * 0xbfff7858
SQLINTEGER * 0xbfff7854
SQLCHAR * 0xbfff7860
SQLINTEGER 256
SQLSMALLINT * 0xbfff7850

Microsoft Excel A000EF98 ENTER SQLFreeStmt
SQLHSTMT 0x750dc20
SQLUSMALLINT 1 (SQL_DROP)

Microsoft Excel A000EF98 EXIT SQLFreeStmt with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x750dc20
SQLUSMALLINT 1 (SQL_DROP)

Microsoft Excel A000EF98 ENTER SQLDisconnect
SQLHDBC 0x750d6a0

Microsoft Excel A000EF98 EXIT SQLDisconnect with return code 0 (SQL_SUCCESS)
SQLHDBC 0x750d6a0

Microsoft Excel A000EF98 ENTER SQLFreeConnect
SQLHDBC 0x750d6a0