Mestres,
Sobre harbour com SQL, vou usar o postgresql, você usam as libs padrão do sql (hbpgsql, hbmysql pra mysql), ou usam o rddsql do harbour (q é bem difernte do xharbour)?

Moderador: Moderadores
alxsts escreveu:Olá!
Postgresql é muito bom. Se o teu sistema roda apenas em Windows, sugiro que use ADO. É um produto Microsoft consolidado há anos e disponÃvel na instalação do Harbour, bastando usar hbwin.hbc na linkedicão. Tem muita documentação e exemplos na internet e também aqui no fórum.
Boa sorte e conte com o pessoal do fórum!
Itamar M. Lins Jr. escreveu:Olá!
Recomendo usar "primeiro" no windows via ADO. Pq o grande lance é fazer a migração, usar, quando tudo estiver pronto partir para o LINUX.
O Linux não tem ADO NATIVO. Só vai aproveitar as SQLs mais nada ou usar WINE.
Hoje não uso mais WINDOWS. Só mantenho o Windows por conta do POVO que usa Windows.
Meu desktop é Linux Kubuntu ficarei com ele até enjoar... Depois mudo para outra distro Linux, por enquanto tá legal.
O que reparei foi a velocidade da aplicação via Wine no Linux alias meu CPU só tem 4Gib e não 8, e ficou muito rápido.
Vejo que SQL no Linux é mais para PHP, e essas linguagens mais modernas. Quem sabe no futuro teremos algo mais simples igual temos o ADO no Windows.
https://adodb.org/dokuwiki/doku.php ou no Lazarus que é super simples também.
Saudações,
Itamar M. Lins Jr.
METHOD MySqlConnection( cServer, cUser, cPassword, nPort ) CLASS CONECCOESCLASS
LOCAL cnConnection
cnConnection:= win_OleCreateObject( "ADODB.Connection" )
cnConnection:ConnectionString := iif( win_OsIs10(), "Provider=MSDASQL;", "" )
cnConnection:ConnectionString += "Driver={MariaDB ODBC 3.1 Driver};"
cnConnection:ConnectionString += ;
"Server=" + cServer + ";" + ;
"Port=" + nPort + ";" + ;
"Stmt=;" + ;
"User=" + cUser + ";" + ;
"Password=" + cPassword + ";" + ;
"Collation=utf8_general_ci;" + ;
"AUTO_RECONNECT=1;" + ;
"COMPRESSED_PROTO=1;" + ;
"PAD_SPACE=1"
cnConnection:CursorLocation := 3
cnConnection:CommandTimeOut := 600 // seconds
cnConnection:ConnectionTimeOut := 600 // seconds
RETURN cnConnection
cQuery := "SELECT PRODUTOS_ID, ";
+ "produtos.DESPRO, ";
+ "IF(produtos.ESTATU < produtos.ESTMIN,'BAIXO','') AS SITUACAO, ";
+ "produtos.ESTATU, ";
+ "produtos.ESTL02, ";
+ "produtos.CODREF, ";
+ "produtos.PRECUS, ";
+ "produtos.PREVEN, ";
+ "produtos.TIPUNI, ";
+ "produtos.EAN13, ";
+ "produtos.NCM, ";
+ "produtos.CEST, ";
+ "IF(produtos.PROSER ='1','PRODUTO','SERVICO') AS PROSER, ";
+ "produtos.QUEM_BLOQ, ";
+ "(produtos.ESTATU + produtos.ESTL02) AS SOMA ";
+ "FROM produtos ";
+ cAlvo_Consulta
oQuery := CONECCOESCLASS():ExecuteSQL(::oServer, cQuery)
if ! oQuery:Eof()
DO WHILE ! oQuery:Eof()
aAdd( aResult, {oQuery:Fields( "PRODUTOS_ID" ):Value,;
oQuery:Fields( "DESPRO" ):Value,;
oQuery:Fields( "TIPUNI" ):Value,;
oQuery:Fields( "ESTATU" ):Value,;
oQuery:Fields( "ESTL02" ):Value,;
oQuery:Fields( "CODREF" ):Value,;
oQuery:Fields( "PRECUS" ):Value,;
oQuery:Fields( "PREVEN" ):Value,;
oQuery:Fields( "EAN13" ):Value,;
oQuery:Fields( "NCM" ):Value,;
oQuery:Fields( "CEST" ):Value,;
oQuery:Fields( "PROSER" ):Value,;
oQuery:Fields( "QUEM_BLOQ" ):Value,;
oQuery:Fields( "SOMA" ):Value} )
oQuery:MoveNext()
ENDDO
endif
Itamar M. Lins Jr. escreveu:Olá!
A unica forma que usei foi o SQLMIX, APENAS para extrair dados, puxar de vários tipos Mysql/MSSQL/Firebird...
Saudações,
Itamar M. Lins Jr.
SQLDriverConnect( hDbc, cConnStr, @cConstrout )
SQLExecDirect( hStmt, "SELECT * FROM test" )
oQuery:FieldByName( "PRODUTOS_ID" ):Value
cnConnection:= win_OleCreateObject( "ADODB.Connection" )
cnConnection:ConnectionString := iif( win_OsIs10(), "Provider=MSDASQL;", "" )
cnConnection:ConnectionString += "Driver={MariaDB ODBC 3.1 Driver};"
cnConnection:ConnectionString += ;
"Server=" + cServer + ";" + ;
"Port=" + nPort + ";" + ;
"Stmt=;" + ;
"User=" + cUser + ";" + ;
"Password=" + cPassword + ";" + ;
"Collation=utf8_general_ci;" + ;
"AUTO_RECONNECT=1;" + ;
"COMPRESSED_PROTO=1;" + ;
"PAD_SPACE=1"
cnConnection:CursorLocation := 3
cnConnection:CommandTimeOut := 600 // seconds
cnConnection:ConnectionTimeOut := 600 // seconds
cnConnection:EXECUTE( "SELECT * FROM test" )
oQuery:Fields( "PRODUTOS_ID" ):Value
Itamar M. Lins Jr. escreveu:Olá!
Faltou vc achar exemplos de SQLMIX, aqui no forum tem e na pasta contrib tem exemplos.
Ou usar a LIB para MySQL do Harbour que funciona no linux também
Neste caso é tudo array tem exemplo disso na pasta contrib tambem.
Saudações,
Itamar M. Lins Jr.
Usuários vendo este fórum: Nenhum usuário registrado online e 7 visitantes