Hola,
Os expongo un caso que no se como atacar por falta de conocimientos.
Tengo un DSN de sistema de MySQL 5 donde NO indico Base de datos.
Hago la conexión al sistema de base de datos así:
::oDataSource := TOdbcDataSource():Create( Self )
::oDataSource:cDSN := "GlobalGesTest"
::oDataSource:cUser := "root"
::oDataSource:cPassword := "2199393"
IF ::oDataSource:Connect()
MsgInfo("Conectado!!")
ELSE
MsgInfo("No conectado")
ENDIF
Y ahora la cuestión es.... ¿como me puedo conectar a una base de datos
concreta?
No he probado si otros sistemas de bases de datos
(Firebird/SqlServer/etc) permiten crear dsn sin asignar bases de datos.
Cualquier ayuda o aclaración de conceptos será muy agradecida.
Saludos,
José Luis Capel
In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
odbcDataSource
- ignacio
- Site Admin
- Mensajes: 9468
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
odbcDataSource
José Luis,
En la configuración del DSN has de indicar la base de datos por defecto que
deseas utilizar. No obstante algunos motores de bases de datos te permiten
abrir tablas que no se encuentran en dicha base de datos por defecto
simplemente precediendo al nombre de la tabla el nombre de su base de datos
utilizando el separador '.'
SELECT * FROM Factur.Clientes
Un saludo,
"José Luis Capel" <joseluis@iaicom.com> escribió en el mensaje
news:[email=429f4645@ozsrvnegro.ozlan.local...]429f4645@ozsrvnegro.ozlan.local...[/email]
> Hola,
>
> Os expongo un caso que no se como atacar por falta de conocimientos.
>
> Tengo un DSN de sistema de MySQL 5 donde NO indico Base de datos.
>
> Hago la conexión al sistema de base de datos así:
>
> ::oDataSource := TOdbcDataSource():Create( Self )
>
> ::oDataSource:cDSN := "GlobalGesTest"
> ::oDataSource:cUser := "root"
> ::oDataSource:cPassword := "2199393"
>
> IF ::oDataSource:Connect()
> MsgInfo("Conectado!!")
> ELSE
> MsgInfo("No conectado")
> ENDIF
>
>
> Y ahora la cuestión es.... ¿como me puedo conectar a una base de datos
> concreta?
>
> No he probado si otros sistemas de bases de datos (Firebird/SqlServer/etc)
> permiten crear dsn sin asignar bases de datos.
>
> Cualquier ayuda o aclaración de conceptos será muy agradecida.
>
> Saludos,
> José Luis Capel
En la configuración del DSN has de indicar la base de datos por defecto que
deseas utilizar. No obstante algunos motores de bases de datos te permiten
abrir tablas que no se encuentran en dicha base de datos por defecto
simplemente precediendo al nombre de la tabla el nombre de su base de datos
utilizando el separador '.'
SELECT * FROM Factur.Clientes
Un saludo,
"José Luis Capel" <joseluis@iaicom.com> escribió en el mensaje
news:[email=429f4645@ozsrvnegro.ozlan.local...]429f4645@ozsrvnegro.ozlan.local...[/email]
> Hola,
>
> Os expongo un caso que no se como atacar por falta de conocimientos.
>
> Tengo un DSN de sistema de MySQL 5 donde NO indico Base de datos.
>
> Hago la conexión al sistema de base de datos así:
>
> ::oDataSource := TOdbcDataSource():Create( Self )
>
> ::oDataSource:cDSN := "GlobalGesTest"
> ::oDataSource:cUser := "root"
> ::oDataSource:cPassword := "2199393"
>
> IF ::oDataSource:Connect()
> MsgInfo("Conectado!!")
> ELSE
> MsgInfo("No conectado")
> ENDIF
>
>
> Y ahora la cuestión es.... ¿como me puedo conectar a una base de datos
> concreta?
>
> No he probado si otros sistemas de bases de datos (Firebird/SqlServer/etc)
> permiten crear dsn sin asignar bases de datos.
>
> Cualquier ayuda o aclaración de conceptos será muy agradecida.
>
> Saludos,
> José Luis Capel
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
odbcDataSource
Ignacio,
Gracias por tus aclaraciones. Entonces y, teniendo en cuenta mi
desconocimiento, ¿podría 'cambiar' de base de datos sin tener que hacer
una DSN por cada base de datos? Mi idea (que no se si es posible) es
tener una BD con tablas de configuración y tantas BD como empresas tenga
la aplicación. Por lo que entiendo, tengo que crear una DSN por cada
BD. ¿Sería posible acceder a esas BD desde una única DSN?
Saludos y gracias por tu tiempo y conocimientos.
José Luis Capel
PD: Puedes recomendarme algún libro o lectura sobre SQL y ODBC ????
Ignacio Ortiz de Zúñiga escribió:
> José Luis,
>
> En la configuración del DSN has de indicar la base de datos por defecto que
> deseas utilizar. No obstante algunos motores de bases de datos te permiten
> abrir tablas que no se encuentran en dicha base de datos por defecto
> simplemente precediendo al nombre de la tabla el nombre de su base de datos
> utilizando el separador '.'
>
> SELECT * FROM Factur.Clientes
>
> Un saludo,
>
>
> "José Luis Capel" <joseluis@iaicom.com> escribió en el mensaje
> news:[email=429f4645@ozsrvnegro.ozlan.local...]429f4645@ozsrvnegro.ozlan.local...[/email]
>
>>Hola,
>>
>>Os expongo un caso que no se como atacar por falta de conocimientos.
>>
>>Tengo un DSN de sistema de MySQL 5 donde NO indico Base de datos.
>>
>>Hago la conexión al sistema de base de datos así:
>>
>> ::oDataSource := TOdbcDataSource():Create( Self )
>>
>> ::oDataSource:cDSN := "GlobalGesTest"
>> ::oDataSource:cUser := "root"
>> ::oDataSource:cPassword := "2199393"
>>
>> IF ::oDataSource:Connect()
>> MsgInfo("Conectado!!")
>> ELSE
>> MsgInfo("No conectado")
>> ENDIF
>>
>>
>>Y ahora la cuestión es.... ¿como me puedo conectar a una base de datos
>>concreta?
>>
>>No he probado si otros sistemas de bases de datos (Firebird/SqlServer/etc)
>>permiten crear dsn sin asignar bases de datos.
>>
>>Cualquier ayuda o aclaración de conceptos será muy agradecida.
>>
>>Saludos,
>>José Luis Capel
>
>
>
Gracias por tus aclaraciones. Entonces y, teniendo en cuenta mi
desconocimiento, ¿podría 'cambiar' de base de datos sin tener que hacer
una DSN por cada base de datos? Mi idea (que no se si es posible) es
tener una BD con tablas de configuración y tantas BD como empresas tenga
la aplicación. Por lo que entiendo, tengo que crear una DSN por cada
BD. ¿Sería posible acceder a esas BD desde una única DSN?
Saludos y gracias por tu tiempo y conocimientos.
José Luis Capel
PD: Puedes recomendarme algún libro o lectura sobre SQL y ODBC ????
Ignacio Ortiz de Zúñiga escribió:
> José Luis,
>
> En la configuración del DSN has de indicar la base de datos por defecto que
> deseas utilizar. No obstante algunos motores de bases de datos te permiten
> abrir tablas que no se encuentran en dicha base de datos por defecto
> simplemente precediendo al nombre de la tabla el nombre de su base de datos
> utilizando el separador '.'
>
> SELECT * FROM Factur.Clientes
>
> Un saludo,
>
>
> "José Luis Capel" <joseluis@iaicom.com> escribió en el mensaje
> news:[email=429f4645@ozsrvnegro.ozlan.local...]429f4645@ozsrvnegro.ozlan.local...[/email]
>
>>Hola,
>>
>>Os expongo un caso que no se como atacar por falta de conocimientos.
>>
>>Tengo un DSN de sistema de MySQL 5 donde NO indico Base de datos.
>>
>>Hago la conexión al sistema de base de datos así:
>>
>> ::oDataSource := TOdbcDataSource():Create( Self )
>>
>> ::oDataSource:cDSN := "GlobalGesTest"
>> ::oDataSource:cUser := "root"
>> ::oDataSource:cPassword := "2199393"
>>
>> IF ::oDataSource:Connect()
>> MsgInfo("Conectado!!")
>> ELSE
>> MsgInfo("No conectado")
>> ENDIF
>>
>>
>>Y ahora la cuestión es.... ¿como me puedo conectar a una base de datos
>>concreta?
>>
>>No he probado si otros sistemas de bases de datos (Firebird/SqlServer/etc)
>>permiten crear dsn sin asignar bases de datos.
>>
>>Cualquier ayuda o aclaración de conceptos será muy agradecida.
>>
>>Saludos,
>>José Luis Capel
>
>
>
- ignacio
- Site Admin
- Mensajes: 9468
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
odbcDataSource
José Luis,
Ni se te ocurra. Ten sólo en una única BD, sin dudarlo. La mayoría de los
motores SQL sólo mantienen la integridad referencial dentro de su misma BD.
Y lo de utilizar distintos archivos para cada Empresa tampoco. Sencillamente
pon un campo de nombre Empresa en todas las tablas, y haz que de dicho campo
sea parte de la clave primaria. No lo dudes. Te aseguro que te evitarás un
montón de problemas.
Por lo demas, si es posible hacer un único DSN para atacar a todas las BD.
Lo único que haces con el DSN es establecer la BD por defecto.
Un saludo,
"José Luis Capel" <joseluis@iaicom.com> escribió en el mensaje
news:[email=42a540cf@ozsrvnegro.ozlan.local...]42a540cf@ozsrvnegro.ozlan.local...[/email]
> Ignacio,
>
> Gracias por tus aclaraciones. Entonces y, teniendo en cuenta mi
> desconocimiento, ¿podría 'cambiar' de base de datos sin tener que hacer
> una DSN por cada base de datos? Mi idea (que no se si es posible) es
> tener una BD con tablas de configuración y tantas BD como empresas tenga
> la aplicación. Por lo que entiendo, tengo que crear una DSN por cada BD.
> ¿Sería posible acceder a esas BD desde una única DSN?
>
> Saludos y gracias por tu tiempo y conocimientos.
> José Luis Capel
> PD: Puedes recomendarme algún libro o lectura sobre SQL y ODBC ????
>
> Ignacio Ortiz de Zúñiga escribió:
>> José Luis,
>>
>> En la configuración del DSN has de indicar la base de datos por defecto
>> que deseas utilizar. No obstante algunos motores de bases de datos te
>> permiten abrir tablas que no se encuentran en dicha base de datos por
>> defecto simplemente precediendo al nombre de la tabla el nombre de su
>> base de datos utilizando el separador '.'
>>
>> SELECT * FROM Factur.Clientes
>>
>> Un saludo,
>>
>>
>> "José Luis Capel" <joseluis@iaicom.com> escribió en el mensaje
>> news:[email=429f4645@ozsrvnegro.ozlan.local...]429f4645@ozsrvnegro.ozlan.local...[/email]
>>
>>>Hola,
>>>
>>>Os expongo un caso que no se como atacar por falta de conocimientos.
>>>
>>>Tengo un DSN de sistema de MySQL 5 donde NO indico Base de datos.
>>>
>>>Hago la conexión al sistema de base de datos así:
>>>
>>> ::oDataSource := TOdbcDataSource():Create( Self )
>>>
>>> ::oDataSource:cDSN := "GlobalGesTest"
>>> ::oDataSource:cUser := "root"
>>> ::oDataSource:cPassword := "2199393"
>>>
>>> IF ::oDataSource:Connect()
>>> MsgInfo("Conectado!!")
>>> ELSE
>>> MsgInfo("No conectado")
>>> ENDIF
>>>
>>>
>>>Y ahora la cuestión es.... ¿como me puedo conectar a una base de datos
>>>concreta?
>>>
>>>No he probado si otros sistemas de bases de datos
>>>(Firebird/SqlServer/etc) permiten crear dsn sin asignar bases de datos.
>>>
>>>Cualquier ayuda o aclaración de conceptos será muy agradecida.
>>>
>>>Saludos,
>>>José Luis Capel
>>
>>
Ni se te ocurra. Ten sólo en una única BD, sin dudarlo. La mayoría de los
motores SQL sólo mantienen la integridad referencial dentro de su misma BD.
Y lo de utilizar distintos archivos para cada Empresa tampoco. Sencillamente
pon un campo de nombre Empresa en todas las tablas, y haz que de dicho campo
sea parte de la clave primaria. No lo dudes. Te aseguro que te evitarás un
montón de problemas.
Por lo demas, si es posible hacer un único DSN para atacar a todas las BD.
Lo único que haces con el DSN es establecer la BD por defecto.
Un saludo,
"José Luis Capel" <joseluis@iaicom.com> escribió en el mensaje
news:[email=42a540cf@ozsrvnegro.ozlan.local...]42a540cf@ozsrvnegro.ozlan.local...[/email]
> Ignacio,
>
> Gracias por tus aclaraciones. Entonces y, teniendo en cuenta mi
> desconocimiento, ¿podría 'cambiar' de base de datos sin tener que hacer
> una DSN por cada base de datos? Mi idea (que no se si es posible) es
> tener una BD con tablas de configuración y tantas BD como empresas tenga
> la aplicación. Por lo que entiendo, tengo que crear una DSN por cada BD.
> ¿Sería posible acceder a esas BD desde una única DSN?
>
> Saludos y gracias por tu tiempo y conocimientos.
> José Luis Capel
> PD: Puedes recomendarme algún libro o lectura sobre SQL y ODBC ????
>
> Ignacio Ortiz de Zúñiga escribió:
>> José Luis,
>>
>> En la configuración del DSN has de indicar la base de datos por defecto
>> que deseas utilizar. No obstante algunos motores de bases de datos te
>> permiten abrir tablas que no se encuentran en dicha base de datos por
>> defecto simplemente precediendo al nombre de la tabla el nombre de su
>> base de datos utilizando el separador '.'
>>
>> SELECT * FROM Factur.Clientes
>>
>> Un saludo,
>>
>>
>> "José Luis Capel" <joseluis@iaicom.com> escribió en el mensaje
>> news:[email=429f4645@ozsrvnegro.ozlan.local...]429f4645@ozsrvnegro.ozlan.local...[/email]
>>
>>>Hola,
>>>
>>>Os expongo un caso que no se como atacar por falta de conocimientos.
>>>
>>>Tengo un DSN de sistema de MySQL 5 donde NO indico Base de datos.
>>>
>>>Hago la conexión al sistema de base de datos así:
>>>
>>> ::oDataSource := TOdbcDataSource():Create( Self )
>>>
>>> ::oDataSource:cDSN := "GlobalGesTest"
>>> ::oDataSource:cUser := "root"
>>> ::oDataSource:cPassword := "2199393"
>>>
>>> IF ::oDataSource:Connect()
>>> MsgInfo("Conectado!!")
>>> ELSE
>>> MsgInfo("No conectado")
>>> ENDIF
>>>
>>>
>>>Y ahora la cuestión es.... ¿como me puedo conectar a una base de datos
>>>concreta?
>>>
>>>No he probado si otros sistemas de bases de datos
>>>(Firebird/SqlServer/etc) permiten crear dsn sin asignar bases de datos.
>>>
>>>Cualquier ayuda o aclaración de conceptos será muy agradecida.
>>>
>>>Saludos,
>>>José Luis Capel
>>
>>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
odbcDataSource
Ignacio,
Quedo muy agradecido por tus consejos....
Muchas gracias.
Saludos,
José Luis Capel
Ignacio Ortiz de Zúñiga escribió:
> José Luis,
>
> Ni se te ocurra. Ten sólo en una única BD, sin dudarlo. La mayoría de los
> motores SQL sólo mantienen la integridad referencial dentro de su misma BD.
>
> Y lo de utilizar distintos archivos para cada Empresa tampoco. Sencillamente
> pon un campo de nombre Empresa en todas las tablas, y haz que de dicho campo
> sea parte de la clave primaria. No lo dudes. Te aseguro que te evitarás un
> montón de problemas.
>
> Por lo demas, si es posible hacer un único DSN para atacar a todas las BD.
> Lo único que haces con el DSN es establecer la BD por defecto.
>
> Un saludo,
>
> "José Luis Capel" <joseluis@iaicom.com> escribió en el mensaje
> news:[email=42a540cf@ozsrvnegro.ozlan.local...]42a540cf@ozsrvnegro.ozlan.local...[/email]
>
>>Ignacio,
>>
>>Gracias por tus aclaraciones. Entonces y, teniendo en cuenta mi
>>desconocimiento, ¿podría 'cambiar' de base de datos sin tener que hacer
>>una DSN por cada base de datos? Mi idea (que no se si es posible) es
>>tener una BD con tablas de configuración y tantas BD como empresas tenga
>>la aplicación. Por lo que entiendo, tengo que crear una DSN por cada BD.
>>¿Sería posible acceder a esas BD desde una única DSN?
>>
>>Saludos y gracias por tu tiempo y conocimientos.
>>José Luis Capel
>>PD: Puedes recomendarme algún libro o lectura sobre SQL y ODBC ????
>>
>>Ignacio Ortiz de Zúñiga escribió:
>>
>>>José Luis,
>>>
>>>En la configuración del DSN has de indicar la base de datos por defecto
>>>que deseas utilizar. No obstante algunos motores de bases de datos te
>>>permiten abrir tablas que no se encuentran en dicha base de datos por
>>>defecto simplemente precediendo al nombre de la tabla el nombre de su
>>>base de datos utilizando el separador '.'
>>>
>>>SELECT * FROM Factur.Clientes
>>>
>>>Un saludo,
>>>
>>>
>>>"José Luis Capel" <joseluis@iaicom.com> escribió en el mensaje
>>>news:[email=429f4645@ozsrvnegro.ozlan.local...]429f4645@ozsrvnegro.ozlan.local...[/email]
>>>
>>>
>>>>Hola,
>>>>
>>>>Os expongo un caso que no se como atacar por falta de conocimientos.
>>>>
>>>>Tengo un DSN de sistema de MySQL 5 donde NO indico Base de datos.
>>>>
>>>>Hago la conexión al sistema de base de datos así:
>>>>
>>>> ::oDataSource := TOdbcDataSource():Create( Self )
>>>>
>>>> ::oDataSource:cDSN := "GlobalGesTest"
>>>> ::oDataSource:cUser := "root"
>>>> ::oDataSource:cPassword := "2199393"
>>>>
>>>> IF ::oDataSource:Connect()
>>>> MsgInfo("Conectado!!")
>>>> ELSE
>>>> MsgInfo("No conectado")
>>>> ENDIF
>>>>
>>>>
>>>>Y ahora la cuestión es.... ¿como me puedo conectar a una base de datos
>>>>concreta?
>>>>
>>>>No he probado si otros sistemas de bases de datos
>>>>(Firebird/SqlServer/etc) permiten crear dsn sin asignar bases de datos.
>>>>
>>>>Cualquier ayuda o aclaración de conceptos será muy agradecida.
>>>>
>>>>Saludos,
>>>>José Luis Capel
>>>
>>>
>
Quedo muy agradecido por tus consejos....
Muchas gracias.
Saludos,
José Luis Capel
Ignacio Ortiz de Zúñiga escribió:
> José Luis,
>
> Ni se te ocurra. Ten sólo en una única BD, sin dudarlo. La mayoría de los
> motores SQL sólo mantienen la integridad referencial dentro de su misma BD.
>
> Y lo de utilizar distintos archivos para cada Empresa tampoco. Sencillamente
> pon un campo de nombre Empresa en todas las tablas, y haz que de dicho campo
> sea parte de la clave primaria. No lo dudes. Te aseguro que te evitarás un
> montón de problemas.
>
> Por lo demas, si es posible hacer un único DSN para atacar a todas las BD.
> Lo único que haces con el DSN es establecer la BD por defecto.
>
> Un saludo,
>
> "José Luis Capel" <joseluis@iaicom.com> escribió en el mensaje
> news:[email=42a540cf@ozsrvnegro.ozlan.local...]42a540cf@ozsrvnegro.ozlan.local...[/email]
>
>>Ignacio,
>>
>>Gracias por tus aclaraciones. Entonces y, teniendo en cuenta mi
>>desconocimiento, ¿podría 'cambiar' de base de datos sin tener que hacer
>>una DSN por cada base de datos? Mi idea (que no se si es posible) es
>>tener una BD con tablas de configuración y tantas BD como empresas tenga
>>la aplicación. Por lo que entiendo, tengo que crear una DSN por cada BD.
>>¿Sería posible acceder a esas BD desde una única DSN?
>>
>>Saludos y gracias por tu tiempo y conocimientos.
>>José Luis Capel
>>PD: Puedes recomendarme algún libro o lectura sobre SQL y ODBC ????
>>
>>Ignacio Ortiz de Zúñiga escribió:
>>
>>>José Luis,
>>>
>>>En la configuración del DSN has de indicar la base de datos por defecto
>>>que deseas utilizar. No obstante algunos motores de bases de datos te
>>>permiten abrir tablas que no se encuentran en dicha base de datos por
>>>defecto simplemente precediendo al nombre de la tabla el nombre de su
>>>base de datos utilizando el separador '.'
>>>
>>>SELECT * FROM Factur.Clientes
>>>
>>>Un saludo,
>>>
>>>
>>>"José Luis Capel" <joseluis@iaicom.com> escribió en el mensaje
>>>news:[email=429f4645@ozsrvnegro.ozlan.local...]429f4645@ozsrvnegro.ozlan.local...[/email]
>>>
>>>
>>>>Hola,
>>>>
>>>>Os expongo un caso que no se como atacar por falta de conocimientos.
>>>>
>>>>Tengo un DSN de sistema de MySQL 5 donde NO indico Base de datos.
>>>>
>>>>Hago la conexión al sistema de base de datos así:
>>>>
>>>> ::oDataSource := TOdbcDataSource():Create( Self )
>>>>
>>>> ::oDataSource:cDSN := "GlobalGesTest"
>>>> ::oDataSource:cUser := "root"
>>>> ::oDataSource:cPassword := "2199393"
>>>>
>>>> IF ::oDataSource:Connect()
>>>> MsgInfo("Conectado!!")
>>>> ELSE
>>>> MsgInfo("No conectado")
>>>> ENDIF
>>>>
>>>>
>>>>Y ahora la cuestión es.... ¿como me puedo conectar a una base de datos
>>>>concreta?
>>>>
>>>>No he probado si otros sistemas de bases de datos
>>>>(Firebird/SqlServer/etc) permiten crear dsn sin asignar bases de datos.
>>>>
>>>>Cualquier ayuda o aclaración de conceptos será muy agradecida.
>>>>
>>>>Saludos,
>>>>José Luis Capel
>>>
>>>
>