Jump to content
Fivewin Brasil

Conexão MYSQL


ZECA

Recommended Posts

Bom dia a todos!!!

Tenho a seguinte dúvida sobre a conexao MYSQL local remota

A conexao

SQL CONNECT ON 'localHost';

PORT 3306; // Numero da porta, onde o servidor SQL está executando

DATABASE 'db_Transportes';

USER 'root';

PASSWORD '12345' ;

OPTIONS SQL_NO_WARNING;

LIB 'MySQL'

Até ai beleza. o exemplo cima está configurado para rodar o BD no mesmo computador do SISTEMA

Como faria para que de outro computador o BD pudesse ser acessado pelo SISTEMA.

Seria mais o menos assim ?

Suponhamos que o IP onde está BD fosse 192.168.0.110

tentei assim usando um arquivo INI e não funcionou. O que deu de errado ?

SQL CONNECT ON '192.168.0.110';

PORT 3306; // Numero da porta, onde o servidor SQL está escutando

DATABASE 'db_Transportes';

USER 'root';

PASSWORD '12345' ;

OPTIONS SQL_NO_WARNING;

LIB 'MySQL'

Está dando o seguinte erro:

MYSQL RDD:1130=host"192.168.0.101" is not allowed to connect to this MYSQL SERVER, on 192.168.0.110, port 3360

use root(with password).

Pelo que entendi desta mensagem, devo autorizar o 192.0.101 a acessar o BD via rede. Esta autorização tem que estar no BD

Como faço para autorizar?

Sds

José Carlos - ZECA

fwh612(Free)-clipper52e-blinker 7.0 - six 3.02 - Windows XP

Link to comment
Share on other sites

Bom dia a todos!!!

Tenho a seguinte dúvida sobre a conexao MYSQL local remota

A conexao

SQL CONNECT ON 'localHost';

PORT 3306; // Numero da porta, onde o servidor SQL está executando

DATABASE 'db_Transportes';

USER 'root';

PASSWORD '12345' ;

OPTIONS SQL_NO_WARNING;

LIB 'MySQL'

Até ai beleza. o exemplo cima está configurado para rodar o BD no mesmo computador do SISTEMA

Como faria para que de outro computador o BD pudesse ser acessado pelo SISTEMA.

Seria mais o menos assim ?

Suponhamos que o IP onde está BD fosse 192.168.0.110

tentei assim usando um arquivo INI e não funcionou. O que deu de errado ?

SQL CONNECT ON '192.168.0.110';

PORT 3306; // Numero da porta, onde o servidor SQL está escutando

DATABASE 'db_Transportes';

USER 'root';

PASSWORD '12345' ;

OPTIONS SQL_NO_WARNING;

LIB 'MySQL'

Está dando o seguinte erro:

MYSQL RDD:1130=host"192.168.0.101" is not allowed to connect to this MYSQL SERVER, on 192.168.0.110, port 3360

use root(with password).

Pelo que entendi desta mensagem, devo autorizar o 192.0.101 a acessar o BD via rede. Esta autorização tem que estar no BD

Como faço para autorizar?

Sds

José Carlos - ZECA

fwh612(Free)-clipper52e-blinker 7.0 - six 3.02 - Windows XP

Link to comment
Share on other sites

José Carlos, dê uma olhada nesta parte da documentação do MySQL

http://dev.mysql.com/doc/refman/5.1/en/user-account-management.html

Tente algo assim,

GRANT ALL ON *.* TO 'root'@'%'

ps.: Não sei se dá certo, se é % que deve ser usado mesmo, se ele tem que estar entre apóstrofos, mas não custa tentar.

Luis Fernando Jr. (Luisão)

Leme/SP

--

FWH8.01 + SQLLIB 1.9d + xHB 1.10 + xDev 0.65 + @SAY + [Ghost/Java]Script

E-Mail: juninho.luisao@gmail.com

MSN: juninho_luisao@hotmail.com

Skype: luis.fernando.jr

Link to comment
Share on other sites

citação:

José Carlos, dê uma olhada nesta parte da documentação do MySQL

http://dev.mysql.com/doc/refman/5.1/en/user-account-management.html

Tente algo assim,

GRANT ALL ON *.* TO 'root'@'%'

ps.: Não sei se dá certo, se é % que deve ser usado mesmo, se ele tem que estar entre apóstrofos, mas não custa tentar.

Luis Fernando Jr. (Luisão)

Leme/SP

--

FWH8.01 + SQLLIB 1.9d + xHB 1.10 + xDev 0.65 + @SAY + [Ghost/Java]Script

E-Mail: juninho.luisao@gmail.com

MSN: juninho_luisao@hotmail.com

Skype: luis.fernando.jr


id=quote>id=quote>

Boa tarde Luisão!!!

Obrigado pela dica. vou consultar na documentação citada

Antecipadamente agradeço.

Sds

José Carlos - ZECA

fwh612(Free)-clipper52e-blinker 7.0 - six 3.02 - Windows XP

Link to comment
Share on other sites

Uma coisa que uso nos meus sistemas é um arquivo.INI que ao abrir o sistema eu passo o IP do servidor, ou no caso localhost, e passo o nome do banco de dados.

já a senha eu deixo dentro do PRG mesmo.

Não sei se é a melhor opção, mas roda beleza.

informaisvrb@gmail.com

FWHX 2.6+ SQLLIB + xDev + rpv + MYSQL 5.0 / fwh808+sqllib(atual)

Msn.: mastermarvrb@msn.com

Link to comment
Share on other sites

citação:

Uma coisa que uso nos meus sistemas é um arquivo.INI que ao abrir o sistema eu passo o IP do servidor, ou no caso localhost, e passo o nome do banco de dados.

já a senha eu deixo dentro do PRG mesmo.

Não sei se é a melhor opção, mas roda beleza.

informaisvrb@gmail.com

FWHX 2.6+ SQLLIB + xDev + rpv + MYSQL 5.0 / fwh808+sqllib(atual)

Msn.: mastermarvrb@msn.com


id=quote>id=quote>

Bom dia Marcio!!!

Tem como vc de mostrar como é feito isto. Tentei fazer um arquivo ini para isso, sem sucesso. Quero lembra-lo de que o programa vai rodar em outro computador onde o MYSQL não está instalado, isto é via rede.

Sds

José Carlos - ZECA

fwh612(Free)-clipper52e-blinker 7.0 - six 3.02 - Windows XP

Link to comment
Share on other sites

citação:

citação:

Uma coisa que uso nos meus sistemas é um arquivo.INI que ao abrir o sistema eu passo o IP do servidor, ou no caso localhost, e passo o nome do banco de dados.

já a senha eu deixo dentro do PRG mesmo.

Não sei se é a melhor opção, mas roda beleza.

informaisvrb@gmail.com

FWHX 2.6+ SQLLIB + xDev + rpv + MYSQL 5.0 / fwh808+sqllib(atual)

Msn.: mastermarvrb@msn.com


id=quote>id=quote>

Bom dia Marcio!!!

Tem como vc de mostrar como é feito isto. Tentei fazer um arquivo ini para isso, sem sucesso. Quero lembra-lo de que o programa vai rodar em outro computador onde o MYSQL não está instalado, isto é via rede.

Sds

José Carlos - ZECA

fwh612(Free)-clipper52e-blinker 7.0 - six 3.02 - Windows XP


id=quote>id=quote>

Boa tarde!!!

Voltando à vaca Morta!!!

Minha conexão está configurada assim:

Servidor:= LocalHost

Porta 3306

Tipo Conexao direta

Usuário Root

senha xxxxxxx

A pergunta é a seguinte:

Nao teria que arrumar outra conexão para que outros computadores possam enxergar o BD?

Tipo

Servidor 192.0.126.110

Porta <???>

Tipo Conexao <???>

Usuario <???>

Senha XXXXXX

gRATO

Sds

José Carlos - ZECA

fwh612(Free)-clipper52e-blinker 7.0 - six 3.02 - Windows XP

Link to comment
Share on other sites

Se vc consegui conectar localmente mas não remotamente, desabilite o firewall do windows ou outro que vc esteja usando e tente conectar. Pode ser que o firewall esteja bloqueando conexoes para a porta 3306.

Ariston Santos

FWPPC / Fwh / xHarbour / Bcc55 / xDev / Workshop

Conheça o pacote fivewin: www.arsoft-ap.com.br

"Leia a Bíblia diariamente"

Link to comment
Share on other sites

Desculpa pela demora em responder, é que estava vijando a serviço.

Olha nas estaçoes não é preciso instalar o MYSQL. basta colocar a LIBMYSQL.DLL na pasta do windows.

O mysql só Deve Ser Instalado no Servidor.

Porem tem que desabilitar o firewall do da rede. OK !!

Agora Vamos ao Arquivo.ini


*-----------------------------------------------------

* Fazer o Teste para Ver se o Arquivo.INI existe

*-----------------------------------------------------

IF !FILE("DB_DADOS.INI")

MsgStop( "Não Foi Possível Localizar o Arquivo DB_DADOS.INI ! " + chr(13) + chr(13) +;

"O Sistema Irá Criar uma com Informaçoes Padroes ! " + chr(13) +;

" ","...:: Erro de Inicialização ::...")

GRAVA_IP()

ENDIF

**************************************************

* Variaveis para Associação do Nome e do IP

**************************************************

T_IP_SERVER := R_IniRead( "DBASES" , "IP_SERVER", "", "DB_DADOS.INI", .T. )

T_BANCO_DAD := R_IniRead( "DBASES" , "DB_BANCO" , "", "DB_DADOS.INI", .T. )

*****************************************************

* As variaveis recebem os valores lidos.

* E são passadas para a STRING de Conecção

*----------------------------------------------------*

SQL CONNECT ON (ALLTRIM(T_IP_SERVER));

PORT 3306;

DATABASE (ALLTRIM(T_BANCO_DAD));

USER 'root';

PASSWORD 'sua_senha' ;

OPTIONS SQL_NO_WARNING;

LIB 'MySQL'

*----------------------------------------------------------

* Apos a Conecção eu testo para Ver se a Mesma Teve Exito

* Caso Seja Negativo, ele Exibe

*----------------------------------------------------------

IF SQL_ErrorNO() > 0

MsgStop( "Não Foi Possível Conectar ao Banco de Dados ! " + chr(13)+ chr(13)+;

"* Caso Esta máquina Não Seja o Servidor *"+chr(13)+;

"Verificar os Itens Abaixo "+chr(13)+;

"1) Cabo de Rede Está Desconectado" + chr(13) +;

"2) Endereço de Ip do Servidor está Correto" + chr(13) +;

"3) Se a Máquina Está Configurada na Rede" + chr(13) +chr(13) +;

"Ou se Preferir, Ligue Para o Suporte ! " + chr(13) + chr(13) +;

"Retorno de Erro do Servidor de Banco de Dados ! " + chr(13) +;

" " + SQL_ErrorMsg() +" ! " + chr(13) +; " ","...:: Erro De Conecção ::...")

*--------------------------------------------*

* Abre uma Tela Solicitando o cadastro de IP

* Nada mais é que Uma dialog, onde o Usuario

* Configura o Ip e Grava no

*--------------------------------------------*

T_IP_LOCAL := .F.

T_IP_SERVER := T_IP_SERVER + " "

T_BANCO_DAD := T_BANCO_DAD + " "

DEFINE DIALOG oDlg_ip_server RESOURCE "CAD_IP_SERVER" TITLE "...:: Configurar Banco de Dados ::..."

REDEFINE GET oT_IP_SERVER var T_IP_SERVER ID 4002 OF oDlg_ip_server

REDEFINE CHECKBOX oT_IP_LOCAL var T_IP_LOCAL ID 4004 OF oDlg_ip_server ON CHANGE (IF(T_IP_LOCAL=(.T.),T_IP_SERVER:='localhost',T_IP_SERVER:=''),oT_IP_SERVER:Refresh())

REDEFINE GET oT_BANCO_DAD var T_BANCO_DAD ID 4007 OF oDlg_ip_server

REDEFINE BTNBMP RESOURCE "CONFIRMAR" When T_IP_SERVER != " " ID 4005 OF oDlg_ip_server NOBORDER;

TOOLTIP " Confirmar Dados ";

ACTION( GRAVA_IP(), MsgInfo("Arquivo Configurado com Exito !"+chr(13)+ "Entre Novamente no Sistema !",'Informação'),oDlg_ip_server:end() )

REDEFINE BTNBMP RESOURCE "BMP_SAIR" ID 4006 OF oDlg_ip_server NOBORDER;

TOOLTIP " Cancelar / Sair ";

ACTION( oDlg_ip_server:end())

oT_IP_SERVER:cToolTip := "Coloque o IP do Servidor "+CRLF+"Ex.: 192.198.0.111 "+ CRLF+ "ou" + CRLF+ "Localhort "+CRLF+"Para Servidor Local"

oT_IP_LOCAL:cToolTip := "Marque se o Servidor For Local (Apenas se Esta Máquina For o Servidor)"

oT_BANCO_DAD:cToolTip := "Nome do Banco de Dados a Ser Conectado"

ACTIVATE DIALOG oDlg_ip_server CENTERED

QUIT

ENDIF

*==========================================================

* A parte de Conecção seria Isso

* Agora Seria a parte de Funcoes auxiliares

*=========================================================

*------------------------------------------------------------------------

* Esta Funcao grava os Dados em Um arquivo .INI, com

* As configuraçoes do IP Do Servidor....

*-------------------------------------------------------------------------

FUNCTION GRAVA_IP()

R_IniWrite( "DBASES", "IP_SERVER", (T_IP_SERVER) , "DB_DADOS.INI" )

R_IniWrite( "DBASES", "DB_BANCO" , (T_BANCO_DAD) , "DB_DADOS.INI" )

RETURN .T.

*===========================================================

#include "C:\CLIPPER5\INCLUDE\FileIO.ch"

#define CR_LF Chr(13) + Chr(10)

#translate SetDefault ( , ) => ;

< var > := IF( < var > = nil, < default >, < var > )

*-- File cache buffer

STATIC cCache

*-- Name of the .INI file that is in the cache buffer

STATIC cIniFile

*-- Read complete file into cache buffer

STATIC bRead := ;

{ | hnd | cCache := SPACE( FSEEK( hnd, 0, FS_END ) ), ;

FSEEK( hnd, 0, FS_SET ), ;

FREAD( hnd, @cCache, LEN( cCache ) ) }

*-- Write section to file

STATIC bPutSection := ;

{ | hnd, sect | IF( !EMPTY( sect ), ;

FWRITE( hnd, '[' + sect + ']' + CR_LF ), ;

nil ) }

*-- Write entry to file

STATIC bPutEntry := ;

{ | hnd, entry, val | IF( !EMPTY( entry ) .and. !EMPTY( val ), ;

FWRITE( hnd, entry + '=' + val + CR_LF ), ;

nil ) }

*-- Rewrite complete file from buffer

STATIC bReWrite := ;

{ | hnd, fnm | IF( hnd != NIL, FCLOSE( hnd ), NIL ), ;

hnd := FCREATE( fnm, FC_NORMAL ), ;

FWRITE( hnd, cCache ), ;

FCLOSE( hnd ) }

*-- Look for the specified section in buffer

STATIC bSeekSection := ;

{ | sect, pos | ( pos := AT( '[' + UPPER( sect ) + ']', UPPER( cCache ) ) ) > 0 }

FUNCTION R_IniRead( cSection, cEntry, cDefault, cFName, lAppend )

*--------------------------------------------------------------------------

* This function searches the file for an entry that matches the name

* specified by the cEntry parameter under the section heading specified

* by the cSection parameter.

* If the entry is found, it corresponding string is returned.

* If the entry does not exist, the default string specified by the cDefault

* parameter is copied. If, in that case, the lAppend flag is .T. the default

* entry will be added to the file.

*

* cSection : String that specifies the section containing the entry.

* cEntry : String containing the entry whose associated string is to be

* retrieved. If this value is NIL, all entries in the section

* specified by the cSection parameter are copied to an array.

* cDefault : String that specifies the default value for the given entry

* if the entry cannot be found in the initialization file.

* cFName : String that names the initialization file

* lAppend : Boolean that specifies if the entry (with the associated

* default value) should be added to the INI file if the entry

* cannot be found.

* If the section does not exist it will be created.

*--------------------------------------------------------------------------

LOCAL nHandle

LOCAL cString

LOCAL nPos

LOCAL nEnd

LOCAL aEntries := {}

IF cSection = NIL .or. VALTYPE( cSection ) != 'C'

*-- Required parameter

RETURN nil

ENDIF

IF cEntry != NIL .and. VALTYPE( cEntry ) != 'C'

*-- Invalid type

RETURN nil

ENDIF

IF cDefault != NIL .and. VALTYPE( cDefault ) != 'C'

*-- Invalid type

RETURN nil

ENDIF

IF cFName = NIL .or. VALTYPE( cFName ) != 'C'

*-- Required parameter

RETURN nil

ENDIF

SetDefault( lAppend, .F. )

IF VALTYPE( lAppend ) != 'L'

*-- Invalid type

RETURN nil

ENDIF

*-- Extension omitted : Add default extension

IF AT( '.', cFName ) = 0

cFName -= '.INI'

ENDIF

IF cIniFile = NIL

*-- First time ... (buffer not in cache)

cIniFile := ''

ENDIF

*-- Check the filename

IF cIniFile != cFName

*-- Other .INI file name : file not in cache !

IF ( nHandle := FOPEN( cFName, FO_READ + FO_SHARED ) ) < 5

*-- Error opening .INI file

RETURN nil

ENDIF

*-- INI file opened ...

*-- Read complete file into cCache

EVAL( bRead, nHandle )

*-- File not needed anymore ...

FCLOSE( nHandle )

*-- File in cache ...

cIniFile := cFName

ENDIF

IF EVAL( bSeekSection, cSection, @nPos )

*-- Section FOUND, nPos points to the start of the section

IF cEntry = NIL

*-- RETURN ALL ENTRIES IN SECTION !

*-- nPos points to start of section

*-- Skip [section] + CR_LF

nPos += 4 + LEN( cSection )

*-- nPos points to start of first entry

DO WHILE nPos <= LEN( cCache ) .and. SUBSTR( cCache, nPos, 1 ) != '['

nEnd := I_At( '=', cCache, nPos )

cEntry := SUBSTR( cCache, nPos, nEnd - nPos )

nPos := nEnd + 1

nEnd := I_At( CR_LF, cCache, nPos )

cString := SUBSTR( cCache, nPos, nEnd - nPos )

AADD( aEntries, { cEntry, cString } )

nPos := nEnd + 2

DO WHILE SUBSTR( cCache, nPos, 2 ) = CR_LF

*-- Skip CR_LF's, if any

nPos += 2

ENDDO

ENDDO

RETURN aEntries

ELSE

*-- Locate specified entry

nPos := I_At( UPPER( cEntry ) + '=', UPPER( cCache ), nPos )

IF nPos > 0

*-- Entry found, nPos points to start of entry

*-- Skip 'entry=' part

nPos += LEN( cEntry )

*-- Return value

RETURN SUBSTR( cCache, nPos + 1, ;

I_At( CR_LF, cCache, nPos + 1 ) - nPos - 1 )

ENDIF

ENDIF

ELSE

*-- Section not found

IF cEntry = NIL

*-- Request to return all entries in section ...

RETURN nil

ENDIF

ENDIF

IF lAppend

*-- CREATE A NEW cDEFAULT ENTRY, IF THE SPECIFIED ENTRY NOT EXISTS

R_IniWrite( cSection, cEntry, cDefault, cIniFile )

ENDIF

*-- Return default value

RETURN cDefault

FUNCTION R_IniWrite( cSection, cEntry, cString, cFName )

*--------------------------------------------------------------------------

* cSection : String that specifies the section to which the string will

* will be copied. If the section does not exist, it is created.

* cSection is case-independent

* cEntry : String containing the entry to be associated with the string.

* If the entry does not exist in the specified section, it is

* created. If the parameter is NIL, the entire section,

* including all entries within the section, is deleted.

* cString : String to be written to the file. If this parameter is NIL,

* the entry specified by the cEntry parameter is deleted.

* cFName : String that names the initialization file

*--------------------------------------------------------------------------

LOCAL nHandle

LOCAL nBytes

LOCAL nPos

LOCAL nEntry

IF cFName = NIL .or. VALTYPE( cFName ) != 'C'

*-- Required parameter !

RETURN .f.

ENDIF

IF cSection = NIL .or. VALTYPE( cSection ) != 'C'

*-- Required paramter !

RETURN .f.

ENDIF

*-- Append default extension (if no extension present)

IF AT( '.', cFName ) = 0

cFName -= '.INI'

ENDIF

IF cIniFile = NIL

*-- First time ...

cIniFile := ''

ENDIF

*-- Check the filename

IF cIniFile != cFName

*-- If file name is the SAME : file is still in Cache buffer (cCache) ...

*-- Other .INI file or the first time

IF ( nHandle := FOPEN( cFName, FO_READWRITE + FO_SHARED ) ) < 5

*-- Error opening .INI file

IF ( nHandle := FCREATE( cFName, FC_NORMAL ) ) < 5

*-- Error creating .INI file

RETURN .f.

ELSE

*-- .INI file created : Write Section and Entry

EVAL( bPutSection, nHandle, cSection )

EVAL( bPutEntry, nHandle, cEntry, cString )

*-- ReRead file to adjust cCache cache

EVAL( bRead, nHandle )

FCLOSE( nHandle )

*-- Buffer in cache ...

cIniFile := cFName

RETURN .t.

ENDIF

ENDIF

*-- Read complete file into cCache

EVAL( bRead, nHandle )

*-- Buffer in cache ...

cIniFile := cFName

ENDIF

IF !EVAL( bSeekSection, cSection, @nPos )

*-- Section NOT present : append SECTION & ENTRY !

IF nHandle = NIL

*-- File not presently open

nHandle := FOPEN( cFName, FO_READWRITE + FO_SHARED )

ENDIF

*-- Pointer to end-of-file

FSEEK( nHandle, 0, FS_END )

*-- APPEND NEW SECTION (separated with an empty line)

FWRITE( nHandle, CR_LF, 2 )

EVAL( bPutSection, nHandle, cSection )

EVAL( bPutEntry, nHandle, cEntry, cString )

*-- ReRead file to adjust cCache ....

EVAL( bRead, nHandle )

ELSE

*-- SECTION ALREADY PRESENT

*-- nPos points to the start of the section

IF cEntry = NIL

*-- DELETE COMPLETE SECTION !

*-- nPos points to start of section

IF ( nEntry := I_At( '[', cCache, nPos + 1 ) ) = 0

*-- No next section : delete to end-of-file

nEntry := LEN( cCache ) + 1

ENDIF

*-- Delete bytes from string

cCache := ;

STUFF( cCache, nPos, nEntry - nPos, '' )

EVAL( bReWrite, nHandle, cFName )

RETURN .t.

ENDIF

*-- Skip section + CR_LF

nPos += 4 + LEN( cSection )

IF ( nEntry := I_At( UPPER( cEntry ) + '=', ;

UPPER( cCache ), nPos ) ) = 0

*-- ENTRY NOT FOUND : APPEND ENTRY

IF cString != NIL

*-- Locate start of next SECTION

IF nHandle = NIL

nHandle := FOPEN( cFName, FO_READWRITE + FO_SHARED )

ENDIF

IF ( nEntry := I_At( '[', cCache, nPos ) ) = 0

*-- Last section : append to end of file

FSEEK( nHandle, 0, FS_END )

EVAL( bPutEntry, nHandle, cEntry, cString )

*-- ReRead file to adjust cCache

EVAL( bRead, nHandle )

ELSE

*-- Next section present at : nEntry - 2

*-- INSERT ENTRY AT END OF SECTION

DO WHILE SUBSTR( cCache, nEntry - 2, 2 ) = CR_LF

*-- Skip CR_LF's, if any ...

nEntry -= 2

ENDDO

*-- Keep 1 CR_LF string ...

nEntry += 2

cCache := ;

STUFF( cCache, nEntry, 0, cEntry + '=' + cString + CR_LF )

EVAL( bReWrite, nHandle, cFName )

RETURN .t.

ENDIF

ENDIF

ELSE

*-- ENTRY FOUND : REPLACE VALUE

IF cString = NIL

*-- DELETE ENTRY !

*-- nEntry points to first pos of entry name

nPos := I_At( CR_LF, cCache, nEntry ) + 2

*-- Delete bytes from string

cCache := ;

STUFF( cCache, nEntry, nPos - nEntry, '' )

ELSE

*-- REPLACE VALUE

*-- nEntry points to first pos of entry name

nEntry += LEN( cEntry ) + 1

cCache := STUFF( cCache, nEntry, ;

AT( CR_LF, SUBSTR( cCache, nEntry ) ) - 1, cString )

ENDIF

EVAL( bReWrite, nHandle, cFName )

RETURN .t.

ENDIF

ENDIF

FCLOSE( nHandle )

RETURN .t.

STATIC FUNCTION I_At( cSearch, cString, nStart )

*--------------------------------------------------------------------------

* AT () function with a start position to search from

*--------------------------------------------------------------------------

LOCAL nPos := AT( cSearch, SUBSTR( cString, nStart ) )

RETURN IF( nPos > 0, nPos + nStart - 1, 0 )

*==========================================================

* Agora para fechar um exemplo de arquivo.ini

*===========================================================

[DBASES]

IP_SERVER=localhost

DB_BANCO=mestoq

id=code>id=code>

Acho que Com isto Voce Consegue fazer funcionar mormal..

Esqueca o lance de MAPEAR UNIDADE DE REDE, ETC....

Coloque o Executavel no PC estacao e pronto....

informaisvrb@gmail.com

FWHX 2.6+ SQLLIB + xDev + rpv + MYSQL 5.0 / fwh808+sqllib(atual)

Msn.: mastermarvrb@msn.com

Link to comment
Share on other sites

citação:

citação:

citação:

Uma coisa que uso nos meus sistemas é um arquivo.INI que ao abrir o sistema eu passo o IP do servidor, ou no caso localhost, e passo o nome do banco de dados.

já a senha eu deixo dentro do PRG mesmo.

Não sei se é a melhor opção, mas roda beleza.

informaisvrb@gmail.com

FWHX 2.6+ SQLLIB + xDev + rpv + MYSQL 5.0 / fwh808+sqllib(atual)

Msn.: mastermarvrb@msn.com


id=quote>id=quote>

Bom dia Marcio!!!

Tem como vc de mostrar como é feito isto. Tentei fazer um arquivo ini para isso, sem sucesso. Quero lembra-lo de que o programa vai rodar em outro computador onde o MYSQL não está instalado, isto é via rede.

Sds

José Carlos - ZECA

fwh612(Free)-clipper52e-blinker 7.0 - six 3.02 - Windows XP


id=quote>id=quote>

Boa tarde!!!

Voltando à vaca Morta!!!

Minha conexão está configurada assim:

Servidor:= LocalHost

Porta 3306

Tipo Conexao direta

Usuário Root

senha xxxxxxx

A pergunta é a seguinte:

Nao teria que arrumar outra conexão para que outros computadores possam enxergar o BD?

Tipo

Servidor 192.0.126.110

Porta <???>

Tipo Conexao <???>

Usuario <???>

Senha XXXXXX

gRATO

Sds

José Carlos - ZECA

fwh612(Free)-clipper52e-blinker 7.0 - six 3.02 - Windows XP


id=quote>id=quote>

Boa noite Zeca

Quando você instala o MySql no servidor, você tem que

habilitar a opção "permitir o acesso remoto". Se você

abrir o MySql Instance Config dá pra mudar isso.

Alberto - SP

Link to comment
Share on other sites

citação:

citação:

citação:

citação:

Uma coisa que uso nos meus sistemas é um arquivo.INI que ao abrir o sistema eu passo o IP do servidor, ou no caso localhost, e passo o nome do banco de dados.

já a senha eu deixo dentro do PRG mesmo.

Não sei se é a melhor opção, mas roda beleza.

informaisvrb@gmail.com

FWHX 2.6+ SQLLIB + xDev + rpv + MYSQL 5.0 / fwh808+sqllib(atual)

Msn.: mastermarvrb@msn.com


id=quote>id=quote>

Bom dia Marcio!!!

Tem como vc de mostrar como é feito isto. Tentei fazer um arquivo ini para isso, sem sucesso. Quero lembra-lo de que o programa vai rodar em outro computador onde o MYSQL não está instalado, isto é via rede.

Sds

José Carlos - ZECA

fwh612(Free)-clipper52e-blinker 7.0 - six 3.02 - Windows XP


id=quote>id=quote>

Boa tarde!!!

Voltando à vaca Morta!!!

Minha conexão está configurada assim:

Servidor:= LocalHost

Porta 3306

Tipo Conexao direta

Usuário Root

senha xxxxxxx

A pergunta é a seguinte:

Nao teria que arrumar outra conexão para que outros computadores possam enxergar o BD?

Tipo

Servidor 192.0.126.110

Porta <???>

Tipo Conexao <???>

Usuario <???>

Senha XXXXXX

gRATO

Sds

José Carlos - ZECA

fwh612(Free)-clipper52e-blinker 7.0 - six 3.02 - Windows XP


id=quote>id=quote>

Boa noite Zeca

Quando você instala o MySql no servidor, você tem que

habilitar a opção "permitir o acesso remoto". Se você

abrir o MySql Instance Config dá pra mudar isso.

Alberto - SP


id=quote>id=quote>

Boa Noite ALBERTO !!!

Vc acertou na mosca. habilitei a opção "permitir acesso remoto" e a bagaça começou a funcionar.

Muito Obrigado Mesmo

Sds

José Carlos - ZECA

fwh612(Free)-clipper52e-blinker 7.0 - six 3.02 - Windows XP

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...