Cambiar cadena de conexión

Tengo un sistema en vb6 y la conexión a la base (access2000)la hago con ADO funciona bien, el problema esen los reportes los realizo con CR 8 si me salen pero si muevo la base a otra carpeta me da el error 20599 no se pudo abrir el servidor he buscado pero nada sigue igual podrías decirme como hago mis reportes y como hago para que la cadena de conexión cambieen tiempo de ejcucion por tu ayuda
1

1 Respuesta

63.725 pts.
Dices que trabajas con ado, ¿control tipo data o recordset vía código?
Te lo pregunto, por que el otro día encontré una solución para este tipo de problemas.
'suponiendo una variable
dim cn as adodb.connection
'una conexión ADO a una BD via ODBC
cn.open "DSN=TuODBC"
crp.connect=cn
Si tienes que cambiar la BD de lugar cambia la fuente de datos y el código VB no tendrás que modificarlo.
Xabi gracias por el interés en ayudarme te cuento mi conexión la hago así creo un archivo txt llamado inventario.txt el cual contiene la ruta, nombre de bd y la contraseña.
Al iniciar el main declaro una variable
Public MdbInvCon As New ADODB.Connection
Luego leo este archivo para almacenar en variables los datos (ruta, db, pws)
Y al final abro la conexión así
With MdbInvCon
.Provider = "microsoft.jet.oledb.4.0"
.ConnectionString = "Data Source='" & sBase & "'" & ";Persist Security Info=False;Jet OLEDB:Database Password='" & sPwdb & "'"
.Open
End With
De esta manera trabajo con recordsets aunque aveces utilizo un control data para los combos, y no utilizo ODBC.
Podrías decirme como creo un odbc lo he intentado pero fracaso estoy con winxp y como haría el reporte en cr porque la solución que hice fue la de hacer reportes en excel pero veras soy algo terco y quiero que se en crystal
si necesario te envío parte del sistema
nuevamente gracias
Mi estimado Xabi, gracias a tu ayuda por fin me quedo solo que en mi rpt especifique odbc (creo que me faltaba)y utilice el código ej. que me enviaste. Muchas gracias saludos
Para crear una fuente de datos ODBC "a mano" debes entrar en "Fuentes de datos ODBC" dentor del panel de control (en xp creo que esta en Panel de control-herramientas administrativas-orígenes de datos odbc) y crear una nueva fuente conel nombre, ruta y contraseña que desees.
Si quieres crearla vía código aquí tienes un ejemplo:
http://support.microsoft.com/default.aspx?scid=kb;es;287668&Product=accIN2
Para crear una DSN de archivo las variables deben ser:
Const ODBC_ADD_DSN = 1 'Agregar origen de datos
Const ODBC_CONFIG_DSN = 2 'Configurar (modificar) origen de datos
Const ODBC_REMOVE_DSN = 3 'Quitar origen de datos
De todas formas esto es por que a la hora de modificar la ruta en la que se enuentra la bd o para cambiar la contraseña mediante ODBC cambarías la fuente y no tendrías que tocar código, pero esto lo tienes resuelto, por lo tanto no te sería necesario.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas