PDA

Ver la Versión Completa : SELECT con contraseña


Fernando
22-01-2005, 18:22:31
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

// ---- 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

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