• 0
Sign in to follow this  
paulobergo

Queries Mysql 5 Na Web (cgi) Não Funcionavam

Question

Olá pessoal...

Quase resolvida a parada... graças a Zeos (digo, graças a Deus)...

Depois de tentar conectar todo tipo de componente ao MySQL e os servidores IIS e Apache recusarem abrir as queries, consegui, em primeira instância, fazer uma consulta (uma query "readonly") em uma tabela do MySQL, através do componente Zeos (sourceforge)... no primeiro teste, sob o IIS, deu certo... Agora, vou testar em casa, sob o Apache...

Caso dê certo, posto a mensagem amanhã aqui, com as dicas para quem precisar fazer consultas ou acessar (gravar, alterar, etc.) uma tabela no MySQL através de uma aplicação web no IIS ou Apache (isapi ou cgi)...

Abraços...

Uso um aplicativo para consulta e acesso a bancos de dados pela web, funcionando perfeitamente sob o IIS (XP), PWS (Win98) ou Apache (XP)...

Trata-se principalmente de um programa (exe), rodando como cgi ou o mesmo programa em uma dll, como Isapi (em c:\inetpub\scripts ou

c:/arquivos de programas/apache.../cgi-bin) .

Agora experimentei instalar o MySQL e o PHP (ambos 5) para migrar as tabelas xBase para o MySQL e, posteriormente, para um servidor Linux...

O fato é que as queries nas tabelas dBaseIII+, Paradox 7.0, dBASEIV 2.0, FOX26 e Visual dBASE7 funcionam perfeitamente

mas as queries nas tabelas MySQL geram este erro:

sob o Apache:

Internal Server Error 500

--------------------------------------------------------------------------------

Exception: EDBEngineError

Message: Invalid configuration parameter. Alias: paraiso

(paraiso é o alias com as tabelas da empresa "paraiso ltda")...

sob o IIS (XP) ou PWS (win98se):

Internal Application Error

General SQL error. [MySQL][ODBC 3.51 Driver]Access denied for user 'ODBC'@'localhost' (using password: NO) Alias: dssomajf

O código abaixo funciona perfeitamente em uma aplicação normal (standalone), só não funciona nos scripts da web

If sMySQLUse='1' then
  Begin
    If Database1.Connected then
      Database1.Connected := False;
    {EndIf Database1.Connected}
    Database1.AliasName    := sDbGeral;
    Database1.Databasename := sDbGeral;
    Database1.Params.Values['USERNAME'] := sMySQLUser;
    Database1.Params.Values['PASSWORD'] := sMySQLPass;
    Database1.Connected := True;
    query1.DatabaseName := sDbGeral;
  End;
{EndIf sMySQLUse='1'}

Observação:
As variáveis são passadas via forms ou links... por exemplo:
sMySQLUse := '1'; // indica que a tabela é do MySQL
sDbGeral  := 'paraiso'; // alias do banco de dados.
sMySQLUser := 'root';
sMySQLPass := '1234';

Mais: o XP está instalado em uma partição fat32... daí não tem restrição nenhuma para usuários não autenticados para acessar tabelas pela Web mas parece que há alguma restrição, já que aparece a mensagem de acesso negado, apesar de serem passados o nome de usuário (root) e senha corretos...

No caso, como dizer que o usuário 'odbc' pode acessar o banco de dados?

Alguma idéia?

Grato por qualquer ajuda!!!

Edited by paulobergo

Share this post


Link to post
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

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

Guest
Answer this question...

×   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.

Sign in to follow this