macs Posted July 27, 2023 Report Share Posted July 27, 2023 Amigos, boa tarde! Estou com um problema ao retornar a lista de banco de dados existentes. A conexão é realizada, existe vários bancos de dados na conexão, mas a função SQLGetDBs() não retorna nada. Alguém já passou por isso? //////////////////////////////////////////////////////////////////////// METHOD Conectar( cDataBase ) CLASS TConexao //////////////////////////////////////////////////////////////////////// Local lSucesso Default cDataBase := ::oConfiguracao:getDatabase() ::cDataBase := AllTrim(cDatabase) ::nHandle := SQLConnect( ::oConfiguracao:getServidor(),; ::oConfiguracao:getPorta(),; ::cDataBase,; ::oConfiguracao:getUsuario(),; ::oConfiguracao:getSenha(),; SQL_NO_WARNING, "MySQL" ) lSucesso:= ! SQLErrorNO() > 0 if lSucesso /// O PROBLEMA ESTÁ AQUI. O DATABASE EXISTE E A FUNÇÃO SQLGETDBS não retorna a lista de databases existentes. IF Empty( sqlGetDBs( ::nHandle, "*" ) ) ::DataBaseCriar( ::cDataBase ) ::Reconectar() ::criarSql_indexes() else ::lDataBaseJaExiste := .T. Endif Endif Return lSucesso Quote Link to comment Share on other sites More sharing options...
CIACPD Posted July 27, 2023 Report Share Posted July 27, 2023 Colega tente da forma abaixo aDBs:= sqlArray("Show Databases") If ASCAN(aDBs,{|X|X[1]="seubanco"}) # 0 SQLExecute("Use seubanco") exit Else TRY SQLExecute("Create Database seubanco") SQLExecute("Use seubanco") CATCH MsgInfo("01->Banco de Dados da CiaCpd não encontrado." + CRLF + ; "02->Não foi possível criar o Banco de Dados."+CRLF+"Confira.", "CIACPD Informa.") END EndIf Quote Link to comment Share on other sites More sharing options...
macs Posted July 27, 2023 Author Report Share Posted July 27, 2023 Tentei também desta forma, mas não retorna nada. Quote Link to comment Share on other sites More sharing options...
macs Posted July 27, 2023 Author Report Share Posted July 27, 2023 É normal o retorno de SQLConnect() ser igual a -2? Quote Link to comment Share on other sites More sharing options...
CIACPD Posted July 27, 2023 Report Share Posted July 27, 2023 Voce está usando sql_log() no inicio do programa para gravar o resultado? Quote Link to comment Share on other sites More sharing options...
macs Posted July 27, 2023 Author Report Share Posted July 27, 2023 2 minutos atrás, CIACPD disse: Voce está usando sql_log() no inicio do programa para gravar o resultado? Não, vou fazer isso! Quote Link to comment Share on other sites More sharing options...
macs Posted July 27, 2023 Author Report Share Posted July 27, 2023 Acabei conseguindo fazer funcionar. Foi apenas conflito de versão da SqlLib com a versão do xHarbour. Valeu pelo apoio! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.