SQL Server - PROBLEMAS AL USAR RESTORE DATABASE DESDE VB6

 
Vista:

PROBLEMAS AL USAR RESTORE DATABASE DESDE VB6

Publicado por SISTEMOLOGO (12 intervenciones) el 28/02/2005 05:45:28
ALGUIEN ,E PUEDE AYUDAR A DARLE SOLUCIÓN A MI PROBLEMA, QUE ES EL SIGUIENTE : TRABAJO CON VB6, Y DEBO RESTAURAR UNA BD EN SQL SERVER Y EL PROCESO ES EL SIGUIENTE:
PRIMERO AL CARGAR UN FORMULARIO HAGO LA CONEXIÓN ASÍ:

Private Sub Form1_Load()
Private DB As ADODB.Connection
...
Set DB = New Connection
DB.CursorLocation = adUseClient
DB.Open "Provider=SQLOLEDB.1;Password=MiPassword;Persist Security Info=True;User ID=MiUsuario;Initial Catalog=FarmaCoop;Data Source=MiServidor"
...
End Sub

LUEGO EN ALGÚN LUGAR DEL CÓDIGO PARA RESTAURAR LA BD HAGO:
DB.Execute "RESTORE DATABASE MiBase FROM DISK='C:\MiBase.bak' "
PERO ME APARECE EL SIG MENSAJE:
no se puede tener acceso esclusivo a la base de datos, porque la base de datos esta en uso

YA VERIFIQUÉ EL MANUAL QUE VIENE CON SQLSERVER 2000 Y ME DICE QUE DEBO UTILIZAR ALGO COMO:
DB.Execute "ALTER DATABASE MiBase SET SINGLE_USER"

PERO ME DICE QUE EL USUARIO NO TIENE PERMISO PARA MODIFICAR LA BD, YA ASIGNÉ PERMISOS Y NADA, DÍGANME QUÉ PUEDO HACER!!!!!

GRACIAS....
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:PROBLEMAS AL USAR RESTORE DATABASE DESDE VB6

Publicado por Cecilia Colalongo (165 intervenciones) el 28/02/2005 10:04:02
¿La BD qué quieres restaurar tiene el mismo nombre qué la qué te has conectado, es decir FarmaCoop?

Si es así debes borrarla primero y luego restaurarla. La borras con: DROP DATABASE <NombreBase>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:PROBLEMAS AL USAR RESTORE DATABASE DESDE VB6

Publicado por SISTEMOLOGO (12 intervenciones) el 03/03/2005 05:31:26
INTENTÉ ALGO ASÍ:
DROP DTABASE MiBase
Y ME APARECIÓ UN MENSAJE QUE DICE :
No se Puede quitar Base de datos 'MiBase'. Actualmente está en uso.
AÚN NO HE PODIDO, ALGUIEN PUEDE AYUDARME?????
SALUDOS!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:PROBLEMAS AL USAR RESTORE DATABASE DESDE VB6

Publicado por Leo (9 intervenciones) el 04/03/2005 08:04:00
Basicamente el error que te marca SQL server se debe a que tu abres una sesion a tu base de datos al momento de abrir tu conexion, por lo tanto al querar restaurarla o borrarlar no tienes uso excusivo de la base de datos por que hay una sesion apuntando a la base la cual es tu conexion.

Yo te puedo recomendar que en el Initial Catalog de tu connection string no especifiques ninguna base de datos o en su defecto especifica la master
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:PROBLEMAS AL USAR RESTORE DATABASE DESDE VB6

Publicado por SISTEMOLOGO (12 intervenciones) el 04/03/2005 08:37:34
PERO, QUÉ VA A PASAR CUANDO TENGA QUE SELECCIONAR DATOS DE ESA BD QUE TENGO EN LA CONEXIÓN, YA QUE ESA BD LA UTILIZO PARA SELECCIONAR, INSERTAR, ELIMINAR, ETC. Y EN ALGUNA OTRA PARTE DEL CÓDIGO Y EN CULQUIER MOMENTO TENGO QUE RESPALDAR.

DE ANTEMANO, GRACIAS,
ESPERO SEGUIR RECIBIENDO AYUDA!!!
SALUDOS
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:PROBLEMAS AL USAR RESTORE DATABASE DESDE VB6

Publicado por Cecilia Colalongo (165 intervenciones) el 04/03/2005 10:55:44
Una vez que la restauras haces:

objConnection.Execute "USE MiBase"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:PROBLEMAS AL USAR RESTORE DATABASE DESDE VB6

Publicado por SISTEMOLOGO (12 intervenciones) el 07/03/2005 05:27:31
HOLA !!

CON LA NOVEDAD DE QUE HE OMITIDO "Initial Catalog=MiBase" DE LA CONEXIÓN, DE TAL FORMA QUE ME QUEDÓ ALGO ASÍ:
MiConexion.Open "Provider=SQLOLEDB.1;Password=MiPassword;Persist Security Info=False;User ID=MiID;Data Source=MiServidor"

PERO ME SIGUEN SALIENDO LOS MISMOS MENSAJES DE ERROR, ESTO ES:
CUANDO USO: MiConexion.Execute "ALTER DATABASE MiBase SET SINGLE_USER", APARECE: "El usuario no tiene permiso para modificar la base de datos 'MiBase'"
CUANDO USO: MiConexion.Execute "DROP DATABASE MiBase", APARECE: "No se puede quitar la base de datos 'MiBase'. Actualmente está en uso"
UTILIZO ESTAS CUALQUIERA DE ESTAS DOS OPCIONES ANTES DE HACER:
MiConexion.Execute "RESTORE DATABASE MiBase FROM DISK='" & RutaDeBase & "'". DONDE RutaDeBase ES LA RUTA DEL DIRECTORIO DONDE SE VA A RESPALDAR LA BASE DE DATOS. SI HAGO ÚNICAMENTE ESTA INSTRUCCIÓN, EL MENSAJE ES: "No se puede tener acceso exclusivo porque la base de datos está en uso.

NECESITO UNA SOLUCIÓN, AÚN NO HE PODIDO RESOLVER MI PROBLEMA.....
AYUDA POR FAVOR.
GRACIAS
SALUDOS
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:PROBLEMAS AL USAR RESTORE DATABASE DESDE VB6

Publicado por aljequim@ (16 intervenciones) el 07/03/2005 14:45:16
Siempre debe de haber una sesion abierta, utiliza este query para poder cerrarlar, ahi podras ver si tu codigo de visual esta creando esa sesion y cerrarla.

SELECT HOSTNAME, STATUS, cmd, PROGRAM_NAME, NT_USERNAME
from master..sysprocesses
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar