Error en script

09/02/2005 - 23:46 por Alberto | Informe spam
Después de generar un script para mi base de datos lo intento ejecutar en el
cliente (MSDE) y, en algunos procedimientos almacenados, me dice que hay un
error pero que se crearán igual. El texto sale muy rápido y no da tiempo a
leerlo pero supongo a que se refiere a que algunos procedimientos hacen
llamadas a otros y que sql server intenta crear primero los que llaman en
lugar de los llamados.

¿Es normal este error? ¿Tiene importancia?
Gracias

Preguntas similare

Leer las respuestas

#6 Alejandro Mesa
10/02/2005 - 16:55 | Informe spam
Alberto,

Para ser honesto, no, no conozco de otra applicacion (de seguro debe haber).
Tambien pudieras usar SQL-DMO API desde una app vb para generar los scripts.
Te adjunto un link a un libro sobre el tema.

Real-World SQL-DMO for SQL Server
http://www.amazon.com/exec/obidos/t...R&st=*


AMB


"Alberto" wrote:

Estoy de acuerdo contigo en lo referente a la tabla de dependencias pero el
problema es que el script lo genera el propio SQL Server y para
solucionarlo, tendría que editarlo a mano.

¿Conoceis alguna solución?
Gracias

"Alejandro Mesa" escribió en el
mensaje news:
> Alberto,
>
> Ademas de lo dicho por Maxi, quiero agregar que esto se conoce como
> "Deferred Name Resolution" (no se como es la traduccion al espaniol, seria
> algo asi como postponer laresolucion de nombres), y es la posibilidad de
> referenciar objectos que aun no han sido creados. Solo se chequea la
> sintaxis, las referencias seran chequeadas en tiempo de compilacion. Lo
> que
> no me gusta de esta facilidad, es que como el error indica, no se
> actualizara
> la tabla de sistema[ sysdepends], la cual es usada por procedimiento
> almacenado sp_depends, el cual devuelve una lista de los objetos que
> dependen
> de otro objeto especifico.
>
> Aqui te pongo un ejemplo, corre primero parte 1 y luego parte 2, veras las
> implicaciones.
>
> Ejemplo:
>
> use northwind
> go
>
> create procedure proc1
> as
> set nocount on
>
> select * from tabla_no_existe
>
> return @@error
> go
>
> create table tabla_no_existe (colA int)
> go
>
> execute sp_depends tabla_no_existe
> go
>
> drop procedure proc1
> go
>
> drop table tabla_no_existe
> go
>
> create table tabla_no_existe (colA int)
> go
>
> create procedure proc1
> as
> set nocount on
>
> select * from tabla_no_existe
>
> return @@error
> go
>
> execute sp_depends tabla_no_existe
> go
>
> drop procedure proc1
> go
>
> drop table tabla_no_existe
> go
>
>
> AMB
>
> "Alberto" wrote:
>
>> Lo acabo de encontrar. Pone lo siguiente:
>> No se pueden agregar filas a sysdepends para el procedimiento almacenado
>> actual, porque depende del objeto 'Nombre de procedimiento almacenado'
>> que
>> falta. Sin embargo, se creará el procedimiento.
>>
>> Gracias
>> "MAXI" escribió en el mensaje
>> news:
>> > Hola, es una lastima no poder saber el error :( pero puede ser el
>> > famoso
>> > error que te advierte sobre la no existencia de algun subprocedimiento,
>> > lo
>> > cual es netamente informativo.
>> >
>> >
>> >
>> > Maxi
>> >
>> > Buenos Aires - Argentina
>> > Desarrollador .NET 3 Estrellas
>> > Microsoft User Group (MUG)
>> >
>> > MSN:
>> > "Alberto" escribió en el mensaje
>> > news:
>> >> Después de generar un script para mi base de datos lo intento ejecutar
>> >> en
>> >> el cliente (MSDE) y, en algunos procedimientos almacenados, me dice
>> >> que
>> >> hay un error pero que se crearán igual. El texto sale muy rápido y no
>> >> da
>> >> tiempo a leerlo pero supongo a que se refiere a que algunos
>> >> procedimientos hacen llamadas a otros y que sql server intenta crear
>> >> primero los que llaman en lugar de los llamados.
>> >>
>> >> ¿Es normal este error? ¿Tiene importancia?
>> >> Gracias
>> >>
>> >
>> >
>>
>>
>>



Respuesta Responder a este mensaje
#7 ulises
10/02/2005 - 19:51 | Informe spam
Lo que podrías hacer es generar otro script que solo contenga la
creación de los procedimientos almacenados, luego cambias el CREATE
PROCEDURE por ALTER PROCEDURE y lo ejecutas después de la ejecución de
tu primer script, eso actualizará la tabla sysdepends.

Saludos,
Ulises

On Thu, 10 Feb 2005 15:22:26 +0100, "Alberto"
wrote:

Estoy de acuerdo contigo en lo referente a la tabla de dependencias pero el
problema es que el script lo genera el propio SQL Server y para
solucionarlo, tendría que editarlo a mano.

¿Conoceis alguna solución?
Gracias

"Alejandro Mesa" escribió en el
mensaje news:
Alberto,

Ademas de lo dicho por Maxi, quiero agregar que esto se conoce como
"Deferred Name Resolution" (no se como es la traduccion al espaniol, seria
algo asi como postponer laresolucion de nombres), y es la posibilidad de
referenciar objectos que aun no han sido creados. Solo se chequea la
sintaxis, las referencias seran chequeadas en tiempo de compilacion. Lo
que
no me gusta de esta facilidad, es que como el error indica, no se
actualizara
la tabla de sistema[ sysdepends], la cual es usada por procedimiento
almacenado sp_depends, el cual devuelve una lista de los objetos que
dependen
de otro objeto especifico.

Aqui te pongo un ejemplo, corre primero parte 1 y luego parte 2, veras las
implicaciones.

Ejemplo:

use northwind
go

create procedure proc1
as
set nocount on

select * from tabla_no_existe

return @@error
go

create table tabla_no_existe (colA int)
go

execute sp_depends tabla_no_existe
go

drop procedure proc1
go

drop table tabla_no_existe
go

create table tabla_no_existe (colA int)
go

create procedure proc1
as
set nocount on

select * from tabla_no_existe

return @@error
go

execute sp_depends tabla_no_existe
go

drop procedure proc1
go

drop table tabla_no_existe
go


AMB

"Alberto" wrote:

Lo acabo de encontrar. Pone lo siguiente:
No se pueden agregar filas a sysdepends para el procedimiento almacenado
actual, porque depende del objeto 'Nombre de procedimiento almacenado'
que
falta. Sin embargo, se creará el procedimiento.

Gracias
"MAXI" escribió en el mensaje
news:
> Hola, es una lastima no poder saber el error :( pero puede ser el
> famoso
> error que te advierte sobre la no existencia de algun subprocedimiento,
> lo
> cual es netamente informativo.
>
>
>
> Maxi
>
> Buenos Aires - Argentina
> Desarrollador .NET 3 Estrellas
> Microsoft User Group (MUG)
>
> MSN:
> "Alberto" escribió en el mensaje
> news:
>> Después de generar un script para mi base de datos lo intento ejecutar
>> en
>> el cliente (MSDE) y, en algunos procedimientos almacenados, me dice
>> que
>> hay un error pero que se crearán igual. El texto sale muy rápido y no
>> da
>> tiempo a leerlo pero supongo a que se refiere a que algunos
>> procedimientos hacen llamadas a otros y que sql server intenta crear
>> primero los que llaman en lugar de los llamados.
>>
>> ¿Es normal este error? ¿Tiene importancia?
>> Gracias
>>
>
>








email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida