[MS SQL] uruchomienie poleceń z pliku

0

Witam

Mam takie pytanie: czy da się w MS SQL Server 2005 uruchomić polecenia zawarte w pliku .sql? Chodzi mi o coś analogicznego do oraclowego @@plik.sql. Zaznaczam, że wolałbym do tego nie używać osql/sqlcmd i innych tego typu narzędzi. Otwieranie każdego pliku w Query Analizer i wykonywanie go też nie wchodzi w grę.

Pozdrawiam

0

Najprostszym sposobem jest chyba użycie sqlcmd. Jeżeli masz dużo skryptów możesz ich wywołania umieścić w pliku .bat a później po prostu go uruchomić. Innym sposobem jest użycie funkcji OPENROWSET(). Poniżej przykładowy kod (nie testowałem go):

-- Execute_Script_From_File.sql
/*
Load a script from a text file and execute it.
Runs in SQL Server 2005
*/

declare @FileName  varchar(255)
declare @SQLLoad   nvarchar(max)

-- Set the file to load SQL Script from
set @FileName = 'C:\MyDir\MyScriptFile.sql'

-- Create command to load and execute the file
set @SQLLoad =
N'declare @cmd varchar(max);
select @cmd = fd.col1
from openrowset(bulk ' + QUOTENAME(@FileName, '''') + ', SINGLE_CLOB) as FD(col1);
exec (@cmd)'

-- Load file data and execute
exec (@SQLLoad)

1 użytkowników online, w tym zalogowanych: 0, gości: 1