Página 1 de 1

odbcDataSource

Publicado: Jue Jun 02, 2005 7:47 pm
por joseluis
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

odbcDataSource

Publicado: Lun Jun 06, 2005 10:37 am
por ignacio
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

odbcDataSource

Publicado: Mar Jun 07, 2005 8:38 am
por joseluis
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
>
>
>

odbcDataSource

Publicado: Mar Jun 07, 2005 9:53 am
por ignacio
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
>>
>>

odbcDataSource

Publicado: Mar Jun 07, 2005 10:19 am
por joseluis
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
>>>
>>>
>