{"id":124,"date":"2006-08-03T21:37:09","date_gmt":"2006-08-03T19:37:09","guid":{"rendered":"http:\/\/www.glorf.it\/blog\/2006\/08\/03\/allgemein\/sqlcmd-batchautomatisierung-mit-variablen"},"modified":"2006-08-03T21:37:09","modified_gmt":"2006-08-03T19:37:09","slug":"sqlcmd-batchautomatisierung-mit-variablen","status":"publish","type":"post","link":"http:\/\/www.glorf.it\/blog\/2006\/08\/03\/allgemein\/sqlcmd-batchautomatisierung-mit-variablen","title":{"rendered":"SqlCmd &#8211; Batchautomatisierung mit Variablen"},"content":{"rendered":"<p>Erst vor ein paar Tagen entdeckte ich, dass mir Microsoft einen ganz lange gehegten Wunsch erf&#252;llt hat. Man kann mit SqlCmd Batches mit Variablen ausf&#252;hren. Hier ein ganz primitives Beispiel:<\/p>\n<p><code lang=\"sql\">use $(db);<br \/>\nselect * from $(tab) where $(col)=$(val);<\/code><\/p>\n<p>Bei der Ausf&#252;hrung mit SqlCmd kann man nun die konkrete Variablenwerte angeben:<\/p>\n<p><code>sqlcmd.exe -S (local)\\MYYUKON -E -i c:\\mssqlclass2005\\sql-batch_01.sql -v db=northwind tab=dbo.orders col=OrderID val=10250<\/code><\/p>\n<p>Weil das bisher nicht ging, haben wir f&#252;r unsere Anwendungen 1993 ein eigenes Batch-Program geschrieben, dass wir immer wieder auf die verschiedenen Versionen migriert haben. Als wir dann auf den SQL Server 2000 umgestiegen sind, wurde es v&#246;llig runderneuert. Mal schauen, ob wir es noch nach der geplanten Migration auf SQL Server 2005 brauchen&#8230;<\/p>\n<p>Unser wichtigster Anwendungsfall: In Views und\/oder Procedures unserer Anwendungen sind datenbank&#252;bergreifende Abfragen enthalten. Da aber erst bei der Installation (beim Kunden, wir schreiben Standardsoftware, also Massenware) der Name der Datenbanken festgelegt wird, k&#246;nnen die Skripte erst um Schluss eingespielt werden. Da m&#252;ssen die Skripte anstelle der Datenbanknamen variable Werte enthalten.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Erst vor ein paar Tagen entdeckte ich, dass mir Microsoft einen ganz lange gehegten Wunsch erf&#252;llt hat. Man kann mit SqlCmd Batches mit Variablen ausf&#252;hren. Hier ein ganz primitives Beispiel: use $(db); select * from $(tab) where $(col)=$(val); Bei der Ausf&#252;hrung mit SqlCmd kann man nun die konkrete Variablenwerte angeben: sqlcmd.exe -S (local)\\MYYUKON -E -i [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/posts\/124"}],"collection":[{"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/comments?post=124"}],"version-history":[{"count":0,"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/posts\/124\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/media?parent=124"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/categories?post=124"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/tags?post=124"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}