2011-04-13 8 views
6

SQLCMD komutu :r sabit olmayan değişmez yolları destekliyor mu? ÖrneğinSQLCMD: r <path> yolun yolu bir değişkendir

:

setvar $(path1) '.\script.sql' 
:r $(path1) -- SQL01260: A fatal parser error occurred: . 
:r '$(path1)' -- SQL01260: A fatal parser error occurred: . 
:r "$(path1)" -- SQL01260: A fatal parser error occurred: . 

cevap

5

mi SQLCMD komut: r destek sabit olmayan hazır yollar?

mantıklı. Değişkeninizi yanlış bir şekilde tanımlıyorsunuz. Daha fazla bilgi için bkz:

( ) ( )

Ayrıca bkz. this article on MSDN.

1

Sadece bunu kaybettiğim zamanı kaydetmek için başkaları için bir örnek olarak burada gönderiyor.

test_setvar.sql dosyası açıkça here Belirtilen aşağıdaki

-- :r test_setvar.sql 
:reset 

:setvar Name "filename" 
print '$(Name)' 
-- :setvar OutName '$(Name)' -- NO wont work 
-- :out $(OutName).txt 
:r $(Name).sql -- filename.sql exists and prints "Hello World" 
:out $(Name).txt -- filename.txt is created 

go 
:out stdout 

içerir. Bunun için dışarı: ile alışkanlık işi sarma üzerinden örnek

:out "string bit"$(field1)"string bit2"$(field2) 

Tek tırnak için:

Not: ile çok parçalı dizeleri ve alanlar için gerekli Çift tırnak.

Ama ... Bir sorgu içinde çift veya tek tırnak sarma gereklidir.

where col.name LIKE "%" + "$(SEARCH_STRING)" + "%" 
1

Sorun, hata listesinde bulunan VS listelerinde değil, başvuru yaptığınız dosyada sorun var.

Başvuruda bulunduğunuz dosya için sözdizimi hatası aranmalıdır. Örneğiniz için. \ Script.sql

İlgili konular