OVH Cloud OVH Cloud

lancer un fichier .sql dans une procédure stpckée

9 réponses
Avatar
Christianbt
Bonjour,

je souhaiterais exécuter un script sql enregistré dans un fichier .sql dans
une procédure stockée.
Du style :
exec c:\\monscript.sql

la commande sqlcmd existe dans sql server 2005, il y a t'il une équivalence
dans SQL Server 2000 ???

Merci

9 réponses

Avatar
SQLpro [MVP]
Christianbt a écrit :
Bonjour,

je souhaiterais exécuter un script sql enregistré dans un fichier .sql dans
une procédure stockée.
Du style :
exec c:monscript.sql

la commande sqlcmd existe dans sql server 2005, il y a t'il une équivalence
dans SQL Server 2000 ???

Merci



intéressez vous à :
xp_cmdshell (procédure stockée étendue)
et
osql (utilitaire en ligne de commande)

A +

--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
Avatar
Christianbt
bonsoir,

c'est précisément sur ces pistes là que je me suis engagé mais pb : la
commande xp_cmdshell ne peut s'exécuter que dans la base master or je
souhaiterais que mon script s'exécute sur une base nouvellement créée...

Si vous avez une piste de syntaxe ; voici la mienne :

(@DB_NAME nvarchar(50))
DECLARE @CMD NVARCHAR(4000)

SET @CMD= ' osql -E -i xxxxxxyyyyyymonscript.sql'
EXEC xp_cmdshell..MASTER @CMD
GO

le script s'exécute bien mais dans la base master...


"SQLpro [MVP]" a écrit :

Christianbt a écrit :
> Bonjour,
>
> je souhaiterais exécuter un script sql enregistré dans un fichier .sql dans
> une procédure stockée.
> Du style :
> exec c:monscript.sql
>
> la commande sqlcmd existe dans sql server 2005, il y a t'il une équivalence
> dans SQL Server 2000 ???
>
> Merci

intéressez vous à :
xp_cmdshell (procédure stockée étendue)
et
osql (utilitaire en ligne de commande)

A +

--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************



Avatar
Ch.
et bien dans votre script SQL en mettant
use mabase
go

ca devrait marcher vu que c'est lancé par l'utilitaire osql ! non ?

"Christianbt" a écrit dans le
message de news:
bonsoir,

c'est précisément sur ces pistes là que je me suis engagé mais pb : la
commande xp_cmdshell ne peut s'exécuter que dans la base master or je
souhaiterais que mon script s'exécute sur une base nouvellement créée...

Si vous avez une piste de syntaxe ; voici la mienne :

(@DB_NAME nvarchar(50))
DECLARE @CMD NVARCHAR(4000)

SET @CMD= ' osql -E -i xxxxxxyyyyyymonscript.sql'
EXEC xp_cmdshell..MASTER @CMD
GO

le script s'exécute bien mais dans la base master...


"SQLpro [MVP]" a écrit :

Christianbt a écrit :
> Bonjour,
>
> je souhaiterais exécuter un script sql enregistré dans un fichier .sql
> dans
> une procédure stockée.
> Du style :
> exec c:monscript.sql
>
> la commande sqlcmd existe dans sql server 2005, il y a t'il une
> équivalence
> dans SQL Server 2000 ???
>
> Merci

intéressez vous à :
xp_cmdshell (procédure stockée étendue)
et
osql (utilitaire en ligne de commande)

A +

--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************





Avatar
SQLpro [MVP]
dans n'importe quelle base avec la bonne syntaxe :


USE northwind
GO

EXEC master.dbo.xp_cmdshell 'DIR C:*.*'

A +


Christianbt a écrit :
bonsoir,

c'est précisément sur ces pistes là que je me suis engagé mais pb : la
commande xp_cmdshell ne peut s'exécuter que dans la base master or je
souhaiterais que mon script s'exécute sur une base nouvellement créée...

Si vous avez une piste de syntaxe ; voici la mienne :

(@DB_NAME nvarchar(50))
DECLARE @CMD NVARCHAR(4000)

SET @CMD= ' osql -E -i xxxxxxyyyyyymonscript.sql'
EXEC xp_cmdshell..MASTER @CMD
GO

le script s'exécute bien mais dans la base master...


"SQLpro [MVP]" a écrit :

Christianbt a écrit :
Bonjour,

je souhaiterais exécuter un script sql enregistré dans un fichier .sql dans
une procédure stockée.
Du style :
exec c:monscript.sql

la commande sqlcmd existe dans sql server 2005, il y a t'il une équivalence
dans SQL Server 2000 ???

Merci


intéressez vous à :
xp_cmdshell (procédure stockée étendue)
et
osql (utilitaire en ligne de commande)

A +

--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************







--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
Avatar
Christianbt
si je suis dans la base mabase et que je lance dans l'analyseur de requête la
syntaxe suivante :

use mabase
go
exec master.dbo.xp_cmdshell 'osql -E -i C:xxxxxcreate_table.sql'

il va bien me créer mes tables mais dans la base de données master... pas
dans mabase.

Mon but est d'automatiser la création d'une base de données (avec ses tables
et proc) à l'aide d'une procédure stockée. Les développeurs donne comme
paramètre leur nom de base de données et la base est créée...


"SQLpro [MVP]" a écrit :

dans n'importe quelle base avec la bonne syntaxe :


USE northwind
GO

EXEC master.dbo.xp_cmdshell 'DIR C:*.*'

A +


Christianbt a écrit :
> bonsoir,
>
> c'est précisément sur ces pistes là que je me suis engagé mais pb : la
> commande xp_cmdshell ne peut s'exécuter que dans la base master or je
> souhaiterais que mon script s'exécute sur une base nouvellement créée...
>
> Si vous avez une piste de syntaxe ; voici la mienne :
>
> (@DB_NAME nvarchar(50))
> DECLARE @CMD NVARCHAR(4000)
>
> SET @CMD= ' osql -E -i xxxxxxyyyyyymonscript.sql'
> EXEC xp_cmdshell..MASTER @CMD
> GO
>
> le script s'exécute bien mais dans la base master...
>
>
> "SQLpro [MVP]" a écrit :
>
>> Christianbt a écrit :
>>> Bonjour,
>>>
>>> je souhaiterais exécuter un script sql enregistré dans un fichier .sql dans
>>> une procédure stockée.
>>> Du style :
>>> exec c:monscript.sql
>>>
>>> la commande sqlcmd existe dans sql server 2005, il y a t'il une équivalence
>>> dans SQL Server 2000 ???
>>>
>>> Merci
>> intéressez vous à :
>> xp_cmdshell (procédure stockée étendue)
>> et
>> osql (utilitaire en ligne de commande)
>>
>> A +
>>
>> --
>> Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
>> Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
>> Audit, conseil, expertise, formation, modélisation, tuning, optimisation
>> ********************* http://www.datasapiens.com ***********************
>>


--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************



Avatar
Ch.
je crois que c'est dans le fichier .SQL

qu'il doit ce trouver
use mabase
go

"Christianbt" a écrit dans le
message de news:
si je suis dans la base mabase et que je lance dans l'analyseur de requête
la
syntaxe suivante :

use mabase
go
exec master.dbo.xp_cmdshell 'osql -E -i C:xxxxxcreate_table.sql'

il va bien me créer mes tables mais dans la base de données master... pas
dans mabase.

Mon but est d'automatiser la création d'une base de données (avec ses
tables
et proc) à l'aide d'une procédure stockée. Les développeurs donne comme
paramètre leur nom de base de données et la base est créée...


"SQLpro [MVP]" a écrit :

dans n'importe quelle base avec la bonne syntaxe :


USE northwind
GO

EXEC master.dbo.xp_cmdshell 'DIR C:*.*'

A +


Christianbt a écrit :
> bonsoir,
>
> c'est précisément sur ces pistes là que je me suis engagé mais pb : la
> commande xp_cmdshell ne peut s'exécuter que dans la base master or je
> souhaiterais que mon script s'exécute sur une base nouvellement
> créée...
>
> Si vous avez une piste de syntaxe ; voici la mienne :
>
> (@DB_NAME nvarchar(50))
> DECLARE @CMD NVARCHAR(4000)
>
> SET @CMD= ' osql -E -i xxxxxxyyyyyymonscript.sql'
> EXEC xp_cmdshell..MASTER @CMD
> GO
>
> le script s'exécute bien mais dans la base master...
>
>
> "SQLpro [MVP]" a écrit :
>
>> Christianbt a écrit :
>>> Bonjour,
>>>
>>> je souhaiterais exécuter un script sql enregistré dans un fichier
>>> .sql dans
>>> une procédure stockée.
>>> Du style :
>>> exec c:monscript.sql
>>>
>>> la commande sqlcmd existe dans sql server 2005, il y a t'il une
>>> équivalence
>>> dans SQL Server 2000 ???
>>>
>>> Merci
>> intéressez vous à :
>> xp_cmdshell (procédure stockée étendue)
>> et
>> osql (utilitaire en ligne de commande)
>>
>> A +
>>
>> --
>> Frédéric BROUARD, MVP SQL Server, expert bases de données et langage
>> SQL
>> Le site sur le langage SQL et les SGBDR :
>> http://sqlpro.developpez.com
>> Audit, conseil, expertise, formation, modélisation, tuning,
>> optimisation
>> ********************* http://www.datasapiens.com
>> ***********************
>>


--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************





Avatar
Christian
je ne peux pas le mettre dans mon fichier .sql car mabase est une variable...

Merci


"Ch." a écrit :

je crois que c'est dans le fichier .SQL

qu'il doit ce trouver
use mabase
go

"Christianbt" a écrit dans le
message de news:
> si je suis dans la base mabase et que je lance dans l'analyseur de requête
> la
> syntaxe suivante :
>
> use mabase
> go
> exec master.dbo.xp_cmdshell 'osql -E -i C:xxxxxcreate_table.sql'
>
> il va bien me créer mes tables mais dans la base de données master... pas
> dans mabase.
>
> Mon but est d'automatiser la création d'une base de données (avec ses
> tables
> et proc) à l'aide d'une procédure stockée. Les développeurs donne comme
> paramètre leur nom de base de données et la base est créée...
>
>
> "SQLpro [MVP]" a écrit :
>
>> dans n'importe quelle base avec la bonne syntaxe :
>>
>>
>> USE northwind
>> GO
>>
>> EXEC master.dbo.xp_cmdshell 'DIR C:*.*'
>>
>> A +
>>
>>
>> Christianbt a écrit :
>> > bonsoir,
>> >
>> > c'est précisément sur ces pistes là que je me suis engagé mais pb : la
>> > commande xp_cmdshell ne peut s'exécuter que dans la base master or je
>> > souhaiterais que mon script s'exécute sur une base nouvellement
>> > créée...
>> >
>> > Si vous avez une piste de syntaxe ; voici la mienne :
>> >
>> > (@DB_NAME nvarchar(50))
>> > DECLARE @CMD NVARCHAR(4000)
>> >
>> > SET @CMD= ' osql -E -i xxxxxxyyyyyymonscript.sql'
>> > EXEC xp_cmdshell..MASTER @CMD
>> > GO
>> >
>> > le script s'exécute bien mais dans la base master...
>> >
>> >
>> > "SQLpro [MVP]" a écrit :
>> >
>> >> Christianbt a écrit :
>> >>> Bonjour,
>> >>>
>> >>> je souhaiterais exécuter un script sql enregistré dans un fichier
>> >>> .sql dans
>> >>> une procédure stockée.
>> >>> Du style :
>> >>> exec c:monscript.sql
>> >>>
>> >>> la commande sqlcmd existe dans sql server 2005, il y a t'il une
>> >>> équivalence
>> >>> dans SQL Server 2000 ???
>> >>>
>> >>> Merci
>> >> intéressez vous à :
>> >> xp_cmdshell (procédure stockée étendue)
>> >> et
>> >> osql (utilitaire en ligne de commande)
>> >>
>> >> A +
>> >>
>> >> --
>> >> Frédéric BROUARD, MVP SQL Server, expert bases de données et langage
>> >> SQL
>> >> Le site sur le langage SQL et les SGBDR :
>> >> http://sqlpro.developpez.com
>> >> Audit, conseil, expertise, formation, modélisation, tuning,
>> >> optimisation
>> >> ********************* http://www.datasapiens.com
>> >> ***********************
>> >>
>>
>>
>> --
>> Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
>> Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
>> Audit, conseil, expertise, formation, modélisation, tuning, optimisation
>> ********************* http://www.datasapiens.com ***********************
>>





Avatar
Philippe T [MS]
Bonjour,

Y a-t-il d'autres bases de données sur l'instance SQL Server que vous voulez
créer ? Si ce n'est pas le cas, vous pouvez utiliser la base modèle et toute
nouvelle base héritera de sa structure, procédures, ...

----------------------------------------------------------------------
Philippe TROTIN - Microsoft Service France

"Christian" wrote in message
news:
je ne peux pas le mettre dans mon fichier .sql car mabase est une
variable...

Merci


"Ch." a écrit :

je crois que c'est dans le fichier .SQL

qu'il doit ce trouver
use mabase
go

"Christianbt" a écrit dans le
message de news:
> si je suis dans la base mabase et que je lance dans l'analyseur de
> requête
> la
> syntaxe suivante :
>
> use mabase
> go
> exec master.dbo.xp_cmdshell 'osql -E -i C:xxxxxcreate_table.sql'
>
> il va bien me créer mes tables mais dans la base de données master...
> pas
> dans mabase.
>
> Mon but est d'automatiser la création d'une base de données (avec ses
> tables
> et proc) à l'aide d'une procédure stockée. Les développeurs donne comme
> paramètre leur nom de base de données et la base est créée...
>
>
> "SQLpro [MVP]" a écrit :
>
>> dans n'importe quelle base avec la bonne syntaxe :
>>
>>
>> USE northwind
>> GO
>>
>> EXEC master.dbo.xp_cmdshell 'DIR C:*.*'
>>
>> A +
>>
>>
>> Christianbt a écrit :
>> > bonsoir,
>> >
>> > c'est précisément sur ces pistes là que je me suis engagé mais pb :
>> > la
>> > commande xp_cmdshell ne peut s'exécuter que dans la base master or
>> > je
>> > souhaiterais que mon script s'exécute sur une base nouvellement
>> > créée...
>> >
>> > Si vous avez une piste de syntaxe ; voici la mienne :
>> >
>> > (@DB_NAME nvarchar(50))
>> > DECLARE @CMD NVARCHAR(4000)
>> >
>> > SET @CMD= ' osql -E -i xxxxxxyyyyyymonscript.sql'
>> > EXEC xp_cmdshell..MASTER @CMD
>> > GO
>> >
>> > le script s'exécute bien mais dans la base master...
>> >
>> >
>> > "SQLpro [MVP]" a écrit :
>> >
>> >> Christianbt a écrit :
>> >>> Bonjour,
>> >>>
>> >>> je souhaiterais exécuter un script sql enregistré dans un fichier
>> >>> .sql dans
>> >>> une procédure stockée.
>> >>> Du style :
>> >>> exec c:monscript.sql
>> >>>
>> >>> la commande sqlcmd existe dans sql server 2005, il y a t'il une
>> >>> équivalence
>> >>> dans SQL Server 2000 ???
>> >>>
>> >>> Merci
>> >> intéressez vous à :
>> >> xp_cmdshell (procédure stockée étendue)
>> >> et
>> >> osql (utilitaire en ligne de commande)
>> >>
>> >> A +
>> >>
>> >> --
>> >> Frédéric BROUARD, MVP SQL Server, expert bases de données et
>> >> langage
>> >> SQL
>> >> Le site sur le langage SQL et les SGBDR :
>> >> http://sqlpro.developpez.com
>> >> Audit, conseil, expertise, formation, modélisation, tuning,
>> >> optimisation
>> >> ********************* http://www.datasapiens.com
>> >> ***********************
>> >>
>>
>>
>> --
>> Frédéric BROUARD, MVP SQL Server, expert bases de données et langage
>> SQL
>> Le site sur le langage SQL et les SGBDR :
>> http://sqlpro.developpez.com
>> Audit, conseil, expertise, formation, modélisation, tuning,
>> optimisation
>> ********************* http://www.datasapiens.com
>> ***********************
>>







Avatar
Christian
C en effet une très bonne idée car les créations de ses bases se font sur un
serveur de production dédié

Christian


"Philippe T [MS]" a écrit :

Bonjour,

Y a-t-il d'autres bases de données sur l'instance SQL Server que vous voulez
créer ? Si ce n'est pas le cas, vous pouvez utiliser la base modèle et toute
nouvelle base héritera de sa structure, procédures, ...

----------------------------------------------------------------------
Philippe TROTIN - Microsoft Service France

"Christian" wrote in message
news:
> je ne peux pas le mettre dans mon fichier .sql car mabase est une
> variable...
>
> Merci
>
>
> "Ch." a écrit :
>
>> je crois que c'est dans le fichier .SQL
>>
>> qu'il doit ce trouver
>> use mabase
>> go
>>
>> "Christianbt" a écrit dans le
>> message de news:
>> > si je suis dans la base mabase et que je lance dans l'analyseur de
>> > requête
>> > la
>> > syntaxe suivante :
>> >
>> > use mabase
>> > go
>> > exec master.dbo.xp_cmdshell 'osql -E -i C:xxxxxcreate_table.sql'
>> >
>> > il va bien me créer mes tables mais dans la base de données master...
>> > pas
>> > dans mabase.
>> >
>> > Mon but est d'automatiser la création d'une base de données (avec ses
>> > tables
>> > et proc) à l'aide d'une procédure stockée. Les développeurs donne comme
>> > paramètre leur nom de base de données et la base est créée...
>> >
>> >
>> > "SQLpro [MVP]" a écrit :
>> >
>> >> dans n'importe quelle base avec la bonne syntaxe :
>> >>
>> >>
>> >> USE northwind
>> >> GO
>> >>
>> >> EXEC master.dbo.xp_cmdshell 'DIR C:*.*'
>> >>
>> >> A +
>> >>
>> >>
>> >> Christianbt a écrit :
>> >> > bonsoir,
>> >> >
>> >> > c'est précisément sur ces pistes là que je me suis engagé mais pb :
>> >> > la
>> >> > commande xp_cmdshell ne peut s'exécuter que dans la base master or
>> >> > je
>> >> > souhaiterais que mon script s'exécute sur une base nouvellement
>> >> > créée...
>> >> >
>> >> > Si vous avez une piste de syntaxe ; voici la mienne :
>> >> >
>> >> > (@DB_NAME nvarchar(50))
>> >> > DECLARE @CMD NVARCHAR(4000)
>> >> >
>> >> > SET @CMD= ' osql -E -i xxxxxxyyyyyymonscript.sql'
>> >> > EXEC xp_cmdshell..MASTER @CMD
>> >> > GO
>> >> >
>> >> > le script s'exécute bien mais dans la base master...
>> >> >
>> >> >
>> >> > "SQLpro [MVP]" a écrit :
>> >> >
>> >> >> Christianbt a écrit :
>> >> >>> Bonjour,
>> >> >>>
>> >> >>> je souhaiterais exécuter un script sql enregistré dans un fichier
>> >> >>> .sql dans
>> >> >>> une procédure stockée.
>> >> >>> Du style :
>> >> >>> exec c:monscript.sql
>> >> >>>
>> >> >>> la commande sqlcmd existe dans sql server 2005, il y a t'il une
>> >> >>> équivalence
>> >> >>> dans SQL Server 2000 ???
>> >> >>>
>> >> >>> Merci
>> >> >> intéressez vous à :
>> >> >> xp_cmdshell (procédure stockée étendue)
>> >> >> et
>> >> >> osql (utilitaire en ligne de commande)
>> >> >>
>> >> >> A +
>> >> >>
>> >> >> --
>> >> >> Frédéric BROUARD, MVP SQL Server, expert bases de données et
>> >> >> langage
>> >> >> SQL
>> >> >> Le site sur le langage SQL et les SGBDR :
>> >> >> http://sqlpro.developpez.com
>> >> >> Audit, conseil, expertise, formation, modélisation, tuning,
>> >> >> optimisation
>> >> >> ********************* http://www.datasapiens.com
>> >> >> ***********************
>> >> >>
>> >>
>> >>
>> >> --
>> >> Frédéric BROUARD, MVP SQL Server, expert bases de données et langage
>> >> SQL
>> >> Le site sur le langage SQL et les SGBDR :
>> >> http://sqlpro.developpez.com
>> >> Audit, conseil, expertise, formation, modélisation, tuning,
>> >> optimisation
>> >> ********************* http://www.datasapiens.com
>> >> ***********************
>> >>
>>
>>
>>