2013-07-19 8 views
0

У меня есть некоторые проблемы с использованием хранимой процедуры в vb.net. Я хотел бы знать, как выполнить хранимую процедуру, например восстановить резервную копию, с помощью самой хранимой процедуры, а не ее имени.Выполнение хранимой процедуры VB.NET

Вот мой код:

Try 

con.ConnectionString = strCon 

Dim strCommand as String = "RESTORE FILELISTONLY 
          FROM DISK = 'C:\AdventureWorks.BAK' 
          WITH FILE = 1 
          GO" 

Dim cm As New SqlClient.SqlCommand(strCommand, con) 

con.Open() 

cm.ExecuteNonQuery() 

Когда я исполню ее он говорит, не могу найти хранимую процедуру «ВОССТАНОВЛЕНИЕ FileList ТОЛЬКО ...

Так что я хотел бы знать, если есть способ для выполнения хранимой процедуры, которые я пишу в Visual Basic себя как строка. Спасибо.

+0

Почему в мире вы хотите, чтобы ваше приложение восстановления базы данных? –

+0

Я пытаюсь сделать гораздо больше, чем просто восстановить, мне нужно восстановить, а затем сжать его и сделать много вещей, единственная проблема - выполнить хранимую процедуру, которую я пишу в строке. – avi

+1

'GO' ** не ** команда T-SQL - просто удалите ее. Кроме того: это ничего не делает ** с хранимой процедурой - вы используете выполнение встроенного оператора SQL ... –

ответ

0

Перед

cm.ExecuteNonQuery() 

попробовать

cm.CommandType = CommandType.Text 
+2

Разве это не по умолчанию? – LarsTech

+0

@ LarsTech Я так и сделал. Но в этом случае это похоже на попытку интерпретировать текст как SP –

Смежные вопросы