Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   SELECT con contraseña (https://www.clubdelphi.com/foros/showthread.php?t=17818)

Fernando 22-01-2005 18:22:31

SELECT con contraseña
 
Hola Delphimaniacos:

Utilizo un TADOQuery para abrir una tabla que se encuentra en otra base de datos, me explico:

SELECT * FROM Clientes IN 'C:\MiBaseDeDatos.mdb'

hasta aquí todo bien, el problema es que la base de datos tiene contraseña y no sé la forma de integrarla en el SELECT, he intentado todo:

SELECT * FROM Clientes IN 'C:\BaseDeDatos.mdb' pdw='contraseña'
SELECT * FROM Clientes IN 'C:\BaseDeDatos.mdb' password='contraseña'
etc.

Gracias de antemano.

salvica 23-01-2005 11:41:09

Eso dependerá del lenguaje que utilices para lanzar la consulta, por ejemplo
con PHP y MYSQL
Código PHP:

 // ---- establece conexión con la BD
 
$conexion   = @mysql_connect"localhost""usuario""password" ) or
                         die( 
"Conexión no establecida" );
 
mysql_select_db"mi_base_de_datos"$conexion );
 
// ---- hacer la query y ejecutarla
 
$sqlAccess  mysql_query"SELECT * FROM clientes"$conexion );
 if( 
$row mysql_fetch_array($sqlAccess) ) {
     
// ---- procesar los resultados
 
} else {
     
// ---- no hay resultados que procesar
 
}
 
// ---- cerrar la conexión establecida
 
mysql_close$conexion ); 

si lo haces con DELPHI
Código Delphi [-]
 var
   miConexion : TConnection;
   miQuery : TQuery;
 begin
   miConexion := TConnection.Create;
   try
     miConexion.Host := 'localhost';
     miConexion.User := 'usuario';
     miConexion.Password := 'password';
     miQuery := TQuery.Create;
     miQuery.Connection := miConexion;
     miQuery.SQL.Add( 'SELECT * FROM clientes' );
     try
       myQuery.ExecSQL;
      { -- procesar los resultados -- }
     except
       { -- Hay un error, de conexión o de ejecución del contenido de la QUERY -- }
     end;
   finally
     miConexion.Free;
   end;
 end;
Como veras, es todo muy parecido
1º - Creas una conexión a un HOST, con el USUARIO y la PASSWORD
2º - Ejecutas la conexión (si hay error, mensaje al canto y acabas)
3º - Ejecutas la QUERY y la procesas
4º - Cierras la conexión establecida

Saludos y que te sirva
Salvica

Fernando 25-01-2005 19:54:42

Gracias por responder.

Utilizo TADOConnection y TADOQuery para realizar la consulta.

El problema es que la base de datos del servidor tiene contraseña y no quiero quitársela. Así que, al intentar hacer la consulta, me indica que "la contraseña no es correcta" y no sé la sintaxis para enviar la contraseña dentro del query.

mamcx 25-01-2005 21:58:32

No es dentro del query, es en la configuracion de la conexion. Fijate en el ejemplo.

Fernando 27-01-2005 21:48:52

Creo que no me expliqué bien:

Utilizo TADOConnection, que tiene conexión con la base de datos del servidor. Solamente utilizo queries temporales, tanto para consulta como para actualizaciones.
Lo que intento hacer es tener una base de datos en la PC Cliente para que allí se creen los queries y tablas temporales y así aligerar la carga de trabajo del Servidor (si esto es posible)

Ejemplo:

TADOConnection1 (con la base de datos del servidor)
TADOConnection2 (con la base de datos del cliente)
Creo un query temporal conectado a TADOConnection2
con este query quiero leer la base de datos del servidor

SELECT * FROM Clientes IN 'DATABASE=\\Servidor\Datos\BaseDatos.mdb;;PWD=asdf'

al ejecutarlo muestra el error: "La contraseña no es válida"

Lo que no he podido encontrar es la sintaxis para que incluya la contraseña.

Espero que esté más explícito.

Gracias.

sflexas 04-02-2005 06:42:34

Solucion Barata
 
Lo que podrias hacer es antes de ejecutar la consulta que le cambies al adoConnection el valor del campo, loginPromp a falso, luego cuando vuelves lo recuperas


La franja horaria es GMT +2. Ahora son las 11:52:21.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi