Deves ter feito alguma coisa errada...cjp escreveu:De fato, o que vc diz faz sentido: eu devo ter acrescido alguma coisa para usar o SQLMIX no Harbour velho, e precisarei fazer o mesmo neste novo. O único problema é que eu não lembro o que foi. Vou tentar achar.
Adaptei um exemplo postado pelo Itamar no tópico MYSQL SQLMIX, conectando e criando base e tabela via SQL. Compilei com meu Harbour 3.20 Nightly e funcionou normalmente, usando MariaDB 10: Informe a versão deste Harbour que você acabou de instalar.
Verifique seu código. Creio que o problma esteja nele e não no Harbour.
Código: Selecionar todos
// Compilar: hbmk2 teste sddodbc.hbc
#require "rddsql"
#require "sddodbc"
#include "dbinfo.ch"
#include "simpleio.ch"
REQUEST SQLMIX, SDDODBC
PROCEDURE Main()
LOCAL nConnection, nI, aI
#if defined( __HBSCRIPT__HBSHELL )
rddRegister( "SQLBASE" )
rddRegister( "SQLMIX" )
#endif
SetMode( 43,80 )
CLS
Set( _SET_DATEFORMAT, "yyyy-mm-dd" )
rddSetDefault( "SQLMIX" )
nConnection := rddInfo( RDDI_CONNECT, { "ODBC", "DRIVER={MariaDB ODBC 3.1 Driver};TCPIP=1;SERVER=localhost;Database=test;UID=root;PWD=root;PORT=3306" } )
IF nConnection == 0
? "Could not connect to server", rddInfo( RDDI_ERRORNO ), rddInfo( RDDI_ERROR )
RETURN
ENDIF
// nConnection
RddInfo( RDDI_EXECUTE, "CREATE DATABASE IF NOT EXISTS `basedados`" )
RddInfo( RDDI_EXECUTE, "USE `basedados`" )
RddInfo( RDDI_EXECUTE, "DROP TABLE country" )
RddInfo( RDDI_EXECUTE, "CREATE TABLE country (CODE char(3), NAME char(50), RESIDENTS int(11))" )
RddInfo( RDDI_EXECUTE, "INSERT INTO country values ('LTU', 'Lithuania', 3369600), " + ;
"('USA', 'United States of America', 305397000), " + ;
"('POR', 'Portugal', 10617600), " + ;
"('POL', 'Poland', 38115967), " + ;
"('AUS', 'Australia', 21446187), " + ;
"('BRA', 'Brazil', 205000000), " + ;
"('FRA', 'France', 64473140), " + ;
"('RUS', 'Russia', 141900000)" )
dbUseArea( .T., , "SELECT * FROM country ORDER BY name", "country" )
DispOutAt( 09, 30, Version() )
Browse(10, 20, 22, 60)
dbCloseAll()
RETURN

