Visual Basic Foro
Programación => Visual Basic 6 => Mensaje iniciado por: FreddyJ en Septiembre 01, 2009, 12:07:58 pm
-
Hola. Espero que me puedan dar un ejemplo o una respuesta para salir de dudas y del problema. He creado un pequeño programa con visual basic y la base de datos es access de tanto preguntar e investigar para colocarlo en red llegue a la conclusión de que antes de empaquetarlo en el modulo solo le diera la dirección de donde estaria la base de datos, es decir; todo de forma manual y resulto pero no es lo que quiero. Alguien me auxilia con este tema.
-
Hola. Espero que me puedan dar un ejemplo o una respuesta para salir de dudas y del problema. He creado un pequeño programa con visual basic y la base de datos es access de tanto preguntar e investigar para colocarlo en red llegue a la conclusión de que antes de empaquetarlo en el modulo solo le diera la dirección de donde estaria la base de datos, es decir; todo de forma manual y resulto pero no es lo que quiero. Alguien me auxilia con este tema.
no entendi bien que es lo que queres automatizar?, vos decis que no queres meter la ruta de la base de datos de forma manual, pero entonces, de que manera pensas conseguir la ruta?
si es estatica, solamente cambia en el string de conexion la ruta.
saludos
-
Lo que yo tengo es lo siguiente en el Modulo donde esta la ruta de mi base de datos alli tengo esto:
Private Sub Conectar_Basedatos()
Dim sUbicacion As String
' para conexion en red
' sUbicacion = "\\Maq-01\documentos c\prueba\mydata.mdb"
With nc
.Provider = "Microsoft.Jet.OLEDB.4.0"
.Properties("Data Source").Value = sUbicacion
.Properties("Persist Security Info").Value = False
.Open
End With
Exit Sub
Set nc = Nothing
End
End Sub
Luego empaqueto el programa y lo instalo en cada maquina que quiero y funciona. La pregunta es que si llegaran a cambiar el nombre de los grupos de trabajo y de las maquinas entonces el sistema no serviria. Como solucionar esto?
-
Lo que yo tengo es lo siguiente en el Modulo donde esta la ruta de mi base de datos alli tengo esto:
Private Sub Conectar_Basedatos()
Dim sUbicacion As String
' para conexion en red
' sUbicacion = "\\Maq-01\documentos c\prueba\mydata.mdb"
With nc
.Provider = "Microsoft.Jet.OLEDB.4.0"
.Properties("Data Source").Value = sUbicacion
.Properties("Persist Security Info").Value = False
.Open
End With
Exit Sub
Set nc = Nothing
End
End Sub
Luego empaqueto el programa y lo instalo en cada maquina que quiero y funciona. La pregunta es que si llegaran a cambiar el nombre de los grupos de trabajo y de las maquinas entonces el sistema no serviria. Como solucionar esto?
podrias poner que lea esa ubicacion desde un registro. si no existe, cargar el default, que es el que provees vos. si lo cambian, es cuestion de editar el registro y cambiar la ruta.
tambien podes usar .ini, seria lo mismo.
saludos
-
Lo mejor que puedes hacer es encriptar el string de conex en un archivo de texto plano. Es la manera que veo más viable, de hecho la que uso actualmente para mis softwares. Yo trabajo con SQL Server y cuando cambian el nombre del servidor u otra cosa, pues solo voy al archivo y cambio el string de conex. Saludos
-
Oks, Gracias por los aportes. Cualquier cosa escribo nuevamente.
-
Que registro ni archivo de texto plano, guardalo directamente en la base de datos :D :D [Chiste malo] ::)
-
Que registro ni archivo de texto plano, guardalo directamente en la base de datos :D :D [Chiste malo] ::)
Jajajaja... ta weno Leoandro.
-
Oks, Gracias por los aportes. Cualquier cosa escribo nuevamente.
Hola en caso de que aun necesites ayuda te dejo un ejemplo muy sencillo de hacer lo que quieres.
en un modulo.
Public Con As Connection 'variable para la conexion a la base de datos
public PathDbase As String 'variable para la ruta de la base de datos
Public Sub ConectarDB()
Open App.Path + "\dbacceso.ini" For Input As #1
Line Input #1, PathDbase
Close #1
End Sub
y en el formulario de carga o splash
Call ConectarDB
Set Con = New Connection
Con.ConnectionString = PathDbase
Con.Open
Luego solo en el .ini pondrias una linea algo asi \\Servidor\BaseDatos\MyData.mdb
Espero haber sido de ayuda.
Salu2,
-
seria mejor hacerlo todo en el Main de modulo, en el Load del formulario no deberia hacer nada, y hay que hcer unas series de validaciones, si existe el archivo y demas.
saludos.
-
ok. Bueno gracias por todos sus comentarios. la verdad es que todo esto del .ini es nuevo para mi y ya estoy investigando en algunas paginas sobre el tema. Recuerden que soy nuevo en esto y gracias a dios existen estos foros.. Saludos...
-
Se que es un post muy viejo, pero si alguien como yo sigue buscando soluciones les dejo la solución con la ayuda de varios comentarios anteriores:
Dim RutaDB As String
Open App.Path + "\dbacceso.ini" For Input As #1
Line Input #1, PathDbase
Close #1
RutaDB = PathDbase
With Base
.CursorLocation = adUseClient
.Provider = "Microsoft.Jet.OLEDB.4.0"
.Properties("Data Source").value = RutaDB
.Properties("Jet OLEDB:Database Password") = "1234"
.Open
end with