Page 1 of 1

Uso de ODBC e MySql no Pocket

Posted: Tue Aug 22, 2006 8:27 pm
by Mauro
Ola a todos

Existe alguma possibilidade de usar MySql com OBDC no Pocket e se
sim como fazer ?

Saludos
Mauro

Re: Uso de ODBC e MySql no Pocket - MySqlMobile

Posted: Sun Aug 27, 2006 1:10 am
by Mauro
Mauro wrote:Ola a todos

Existe alguma possibilidade de usar MySql com OBDC no Pocket e se
sim como fazer ?

Saludos
Mauro
Olá a todos

baixei deste site
http://www.pocketgear.com/software_detail.asp?id=21135
um software chamado MySqlMobile, onde tem exemplos e uma dll,
fiz um pequeno programa de testes, abaixo, ele conecta com o banco, mas
depois da conexão trava..
Alguma idéia ?
Uso o Build de Julho/2006

#include "fwce.ch"
#include "dll.ch"

// erros devolvidos pela mysqlmobile.dll
#define EXTERNAL_ERROR -2000
#define CONNECTION_TIMED_OUT -1001
#define SOCKET_NOT_VALID -1002
#define SOCKET_CONNECTION_FAILED -1003
#define MYSQL_NOT_CONNECTED -1004
#define WRONG_PACKET_DATA -1005
#define EMPTY_PARAMETER_NOT_ALLOWED -1006
#define FIELD_NOT_FOUND -1007
#define ROW_NOT_FOUND -1008
#define UNKNOWN_FIELD_PARAMETER -1009
#define NO_SUCH_COLUMN -1010
#define NO_SUCH_ROW -1011
#define ZLIB_DECOMPRESSION_ERROR -1012

function Main()

local oWnd
local oBtn1

DEFINE WINDOW oWnd TITLE "MySql"


@ 001, 001 BUTTON oBtn1 PROMPT "Conecta" OF oWnd ;
ACTION Conecta() ;
SIZE 100, 30 ;
PIXEL

@ 001, 140 BUTTON oBtn1 PROMPT "Abre Banco" OF oWnd ;
ACTION AbreBanco() ;
SIZE 100, 30 ;
PIXEL


@ 060, 001 BUTTON oBtn1 PROMPT "Query" OF oWnd ;
ACTION FazQuery() ;
SIZE 100, 30 ;
PIXEL

@ 060, 140 BUTTON oBtn1 PROMPT "Desconecta" OF oWnd ;
ACTION Desconecta() ;
SIZE 100, 30 ;
PIXEL



@ 120, 060 BUTTON oBtn1 PROMPT "Sair" OF oWnd ;
ACTION oWnd:End() ;
SIZE 100, 30 ;
PIXEL


ACTIVATE WINDOW oWnd


return nil

//----------------------------------------------------------------------------//
function Conecta()
CursorWait()

nRet := MyConectar("xxx.xxx.xxx.xxx",3306,"user","pass") // ip,porta mysql, usuario e password
SysRefresh()
MsgInfo(iif(nRet=0,"Conectado", "Erro - não conectou"), "Atenção")
// aqui trava e não sai da MsgInfo
CursorWe()

return nil

//----------------------------------------------------------------------------//
function AbreBanco()
CursorWait()

nRet:=MySelectDb("Nome do Banco")
MsgInfo(iif(nRet=0,"Selecionado", "Erro - não selecionou"), "Atenção")

CursorWe()

return nil
//----------------------------------------------------------------------------//
function FazQuery()
CursorWait()

nRet:=MyExeQuery("SELECT * FROM ASAS WHERE ID=1")
MsgInfo(iif(nRet=0,"Selecionado", "Erro - não selecionou"), "Atenção")

CursorWe()

return nil
//----------------------------------------------------------------------------//
function Desconecta()
CursorWait()

nRet:=MyDesconec()
MsgInfo(iif(nRet=0,"Desconectado", "Erro - não desconectou"), "Atenção")

CursorWe()

return nil
//----------------------------------------------------------------------------//

// MyComprime - Enable = 1 Habilita e = 0 Desabilita
DLL FUNCTION MyComprime(Enable AS LONG) AS VOID PASCAL FROM "mysql_enable_compression" LIB "MySqlMobile.dll"
//1234567890

//MyConectar(Host, Port, Username, Password) - retorna 0 se .t. ou <> 0 se .f.
DLL FUNCTION MyConectar(Host AS STRING,Port AS LONG,User AS STRING,Pass AS STRING) AS LONG PASCAL FROM "mysql_connect" LIB "MySqlMobile.dll"
//1234567890

//MyDesconec - retorna 0 se .t. ou <> 0 se .f.
DLL FUNCTION MyDesconec() AS LONG PASCAL FROM "mysql_disconnect" LIB "MySqlMobile.dll"
//1234567890

//MySelectDb - retorna 0 = tudo ok ou <> de zero quando erro
DLL FUNCTION MySelectDb(cBanco AS STRING) AS LONG PASCAL FROM "mysql_select_db" LIB "MySqlMobile.dll"
//1234567890

//MyExeQuery - retorna 0 = tudo ok ou <> de zero quando erro
DLL FUNCTION MyExeQuery(cQuery AS STRING) AS LONG PASCAL FROM "mysql_execute_query" LIB "MySqlMobile.dll"
//1234567890

Posted: Sun Aug 27, 2006 11:11 am
by Antonio Linares
Mauro,

Prueba a cambiar "AS STRING" por "AS LPSTR".

Llegas a ver el MsgInfo() ?

Puedes poner la declaración de mysql_connect() en C ? Para comprobar si espera las cadenas en unicode ó no.

Posted: Sun Aug 27, 2006 9:36 pm
by Mauro
Antonio Linares wrote:Mauro,

Prueba a cambiar "AS STRING" por "AS LPSTR".

Llegas a ver el MsgInfo() ?

Puedes poner la declaración de mysql_connect() en C ? Para comprobar si espera las cadenas en unicode ó no.
Olá Antonio
A função chega até o MsgInfo(), mas aí trava e só dando um reset no pocket que ele sai, aí esta uma parte da documentação da MySqMobile,
um exemplo do connect em C

function int mysql_connect(char *pszhost, int nport, char *pszusername,
char *pszpassword)
function description
Use this function to connect to a mySQL database.
parameters
[in] pszhost host to connect to
[in] nport port to connect to (default mySQL port is 3306)
[in] pszusername username to access database
[in] pszpassword password to access database
return values
0 when everything went ok
not 0 when an error occurred. Get the error in textual form by calling
mysql_get_last_error(<retval>)
C/C++ example of usage
int nRet;

nRet = mysql_connect("192.168.0.15", 3306, "my_username", "my_passwd");
if (nRet == 0) {
CString str = _T("mysql_connect() successful");
MessageBox(NULL, str, _T("info"), MB_OK | MB_ICONINFORMATION);
} else {
char *errorBuf = new char[255];
mysql_get_last_error(nRet, errorBuf);
MessageBox(NULL, CString(errorBuf), _T("error"), MB_OK | MB_ICONINFORMATION);
delete errorBuf;
}
VB.NET / C# example of usage

Saludos e obrigado pela atenção, amanhã vou testar trocar os AS STRING por AS LPSTR e darei um retorno.

Mauro

MSqlMobile

Posted: Tue Aug 29, 2006 11:48 pm
by Mauro
Olá Antonio

testei a troca dos STRING por LPSTR e infelizmente não funcionou...
Alguma outra idéia ?

Saludos

Mauro

Posted: Thu Sep 18, 2008 9:48 am
by rasptty
Achei super interessante esta DLL, ficou resolvido o problema da conecção?

Posted: Fri Sep 19, 2008 10:58 am
by Antonio Linares
Nosotros no hemos usado MySQL desde Pocket PC, asi que es un tema que teneis que investigar vosotros mismos, pero en google hay información de sobra :-)

Posted: Sat Sep 20, 2008 11:27 pm
by rasptty
Boas , Realmente testei o Mysqlmobile.dll, e encrava,
também estou precisando com urgência um conector a base de dados
MYSQL, estou disposto a comprar o Mysqlmobile.dll, mas queria que alguem já tivesse feito um teste,
é uma pena que o FWPPC , não traga uma funções para Mysql, pois seria mais uns pontos a favor..

Um Grande Obrigado,

Será que o Mauro Já coseguiu ultrapassar o Problema ?

Posted: Sat Sep 20, 2008 11:41 pm
by Antonio Linares
Sergio,

Algunos usuarios quieren MySQL, otros quieren MS SQL, otros quieren ADO, otros quieren, quieren... :-)

FWPPC abre las puertas a programar en Windows Mobile pero no puede satisfacer a todos en todo. Ese trabajo es vuestro, de adaptar FWPPC a vuestras necesidades :-)

Posted: Sun Sep 21, 2008 12:12 pm
by rasptty
Ok linares, sé peço mais um favor relativamente a este assunto,
será que podias testar a rotina do Mouro, e melhor pola a funcionar utilizando esta dll Mysqlmobile, seria excelente, e ficava muito contente pois estou mesmo a precisar... ,

Um Grande obrigado na mesma..