Problema con ODBC a SQL Server

482 views
Skip to first unread message

Martin Peveri

unread,
Nov 10, 2012, 10:06:43 AM11/10/12
to publice...@googlegroups.com
Buen día gente, estoy teniendo un problema les cuento como es el tema:
Tengo un sistema que se encarga de hacer backup, restore y algunas consultas de una base de datos SQL server 2008. Esto lo hace bien, pero el problema surgió cuando el cliente me pidió que si la base (se llama dbEmpresa) no existe al generar el restore tiene que crearla. El ODBC apuntaba a dbEmpres obviamente si no existia no la creaba ya que pinchaba la conexión. Tengo una función que se encarga de modificar,crear y eliminar el ODBC, Si estoy en todas las demás opciones del sistema el ODBC apunta a dbEmpres y en la opción restore Modifico el ODBC para que apunte a 'master' y funcionó perfecto.
Voy al punto concreto: Todo lo hace bien, pero ejecuto unos consultas que modifico el ODBC a dbEmpresa y luego genero restore me da el error siguiente: Cambio de contexto en la base de datos master. No se como resolverlo ya, busque aunque no encontré nada en particular. Intente eliminando el ODCD y volverlo a crear, pero tampoco.

Espero ser claro

Bueno muchísimas gracias de antemano.

Saludos desde Argentina.

Martin Peveri

unread,
Nov 10, 2012, 5:56:24 PM11/10/12
to publice...@googlegroups.com
Alguien sabe como resolver este error: "Cambio de contexto en la base de datos master"

Es urgente por favor

muchísimas gracias.

Ricardo Peña

unread,
Nov 10, 2012, 6:08:26 PM11/10/12
to GRUPO-VFP GRUPO-VFP
Hola Martín.
 
¿ No te convendría apuntar siempre el ODBC a la master y como primera
instrucción después de conectarte hacer
 
sqlerr=sqlexec(inHandler,"USE MyBase")
if sqlerr<=0
    * aquí tratar el error
endif
 
Ricardo Luis Peña
Analista de Sistemas
BA - Argentina
011-15-4440-7378
 

Date: Sat, 10 Nov 2012 14:56:24 -0800
From: martin...@gmail.com
To: publice...@googlegroups.com
Subject: [vfp] Re: Problema con ODBC a SQL Server
--
 
 
 

Martin Peveri

unread,
Nov 10, 2012, 8:06:04 PM11/10/12
to publice...@googlegroups.com
Hola ricardo, gracias por responder. Te cuento es lo que yo pense en un primer momento, pero como el sistema esta instalado en muchísimo distribuidores me dijieron que no se puede. Ya que hay un instructivo hecho de esa forma. Sabes que puede ser ese error?.

Nuevamente gracias por la respuesta.

Martin Peveri

unread,
Nov 10, 2012, 8:04:51 PM11/10/12
to publice...@googlegroups.com
Hola ricardo, gracias por responder. Te cuento es lo que yo pense en un primer momento, pero como el sistema esta instalado en muchísimo distribuidores me dijieron que no se puede. Ya que hay un instructivo hecho de esa forma. Sabes que puede ser ese error?.

Nuevamente gracias por la respuesta.

El sábado, 10 de noviembre de 2012 20:08:31 UTC-3, Ricardo Peña escribió:

Ricardo Peña

unread,
Nov 11, 2012, 7:42:40 AM11/11/12
to GRUPO-VFP GRUPO-VFP
Evidentemente se produce el cambio de contexto y no le gusta a la master.
Eso se debe a algun ítem de configuración de la master. Prueba si con
el sp_configure te dice qué cambió ejecutándolo antes y después de tu
cambio de ODBC.
Además, busqué en www.sqlservercentral.com context changes y hay algunos
foros disponibles.  ¿ Investigaste por ahí ? ¿ En algún lugar de tu
código, no defines Esquema.Propietario.Nombre ?

   
Ricardo Luis Peña
Analista de Sistemas
BA - Argentina
011-15-4440-7378
 

Date: Sat, 10 Nov 2012 17:04:51 -0800
From: martin...@gmail.com
To: publice...@googlegroups.com
Subject: Re: [vfp] Re: Problema con ODBC a SQL Server
--
 
 
 

Martin Peveri

unread,
Nov 11, 2012, 11:37:36 AM11/11/12
to publice...@googlegroups.com
Ricardo ahí estuve investigando algo. En la mayoría de los foros hablan del comando EXECUTE, por que mantiene el contexto o algo así puede ser?.

Yo necesito ejecutar un restore, se puede realizar esta tarea con este comando, no logro hacerlo bien.

Algo así: USE master RESTORE DATABASE dbEmpresa FROM DISK = 'Backup\dbEmpresa.bak

Gracias

Ricardo Peña

unread,
Nov 11, 2012, 1:55:07 PM11/11/12
to GRUPO-VFP GRUPO-VFP
El comado EXECUTE sirve para ejecutar store procedures como el sp_config
 
Sólo usa el comando restore.  Pero verifica qué vas a hacer con la opción
REPLACE.


Ricardo Luis Peña
Analista de Sistemas
BA - Argentina
011-15-4440-7378
 

Date: Sun, 11 Nov 2012 08:37:36 -0800

From: martin...@gmail.com
To: publice...@googlegroups.com
Subject: Re: [vfp] Re: Problema con ODBC a SQL Server

--
 
 
 

Martin Peveri

unread,
Nov 11, 2012, 3:50:16 PM11/11/12
to publice...@googlegroups.com
Ricardo ahí lo pude resolver. En muchas partes del código ejecutaba un comando que modificaba el ODBC , y después se conectaba. Se ve que algo de ahí no le gustaba y tiraba el error. Además hice como me dijiste, deje el ODBC apuntando a master y cada consulta que realizo a SQL primero indico que base utilizo. 

Te vuelvo agradecer, fuiste de mucha ayuda.

Muchísimas gracias.

Saludos
Reply all
Reply to author
Forward
0 new messages