Clipper On Line • Ver Tópico - Erro na criação de tabela no MySQL
Página 1 de 1

Erro na criação de tabela no MySQL

MensagemEnviado: 20 Jun 2014 16:17
por cjp
Colegas,

Estou enfrentando erro ao criar uma tabela no MySQL, e não estou conseguindo entender a razão do erro. Já criei outras tabelas de forma semelhante, sem problemas. Está conectando normalmente ao banco de dados, mas a RDDINFO está retornando falso.

Estou fazendo assim:

Function CriaTabrec()
         Local cQuery
         RDDSETDEFAULT( "SQLMIX" )
         nConnection := RDDINFO( 1001, { "ODBC", "Server=mysql.inaciocarvalho.com.br;Driver={MySQL ODBC 3.51 Driver};dsn=;User=inaciobr2;pwd=04inac04;database=inaciobr2;" } )
         IF nConnection == 0
            Alert("Erro na conexao com o servidor")
            RDDSETDEFAULT( "DBFNTX" )
            Return .f.
         ENDIF
         cQuery:="DROP TABLE recado"  //remove tabela
         RDDINFO(1003, cQuery)

         cQuery:="CREATE TABLE recado ("+;
         "DATA date,"+;
          "HORA char(8),"+;
          "USUARIO char(1),"+;
          "RECADO char(700),"+;
          "RESPOSTA char(700),"+;
          "VISTO char(1))"
         If !RDDINFO(1003, cQuery)
            Alert("Erro ao criar a tabela")
            RDDSETDEFAULT( "DBFNTX" )
            return .f.
         EndIf
Return .t.


Alguém saberia me informar a razão do erro?

Erro na criação de tabela no MySQL

MensagemEnviado: 20 Jun 2014 16:35
por bencz
Simples....
RECADO char(700),

o erro está ai, o tamanho maximo é 255

Para seu caso, de tamanho 700, tente da seguinte forma;

CREATE TABLE recado (DATA date,
          HORA char(8),
          USUARIO char(1),
          RECADO TEXT(700),
          RESPOSTA TEXT(700),
          VISTO char(1))

Erro na criação de tabela no MySQL

MensagemEnviado: 20 Jun 2014 17:54
por cjp
Já consegui achar o problema: o campo char não pode ter mais de 255 espaços. Curioso isso: até o Harbour admite número ilimitado. Mas já mudei o tipo e resolvi.