Я получаю вышеуказанную ошибку в своем методе VS 2008 C #, когда пытаюсь вызвать хранимую процедуру getColumnNames SQL из VS.Этот SP принимает один входной параметр, имя таблицы и успешно работает из SSMS.В настоящее время я выбираю для этого таблицу AddressType AdventureWorks, чтобы извлечь имена столбцов из этой таблицы.Я вижу таблицу AdventureWorks, доступную в VS, из моего обозревателя серверов / подключения к данным.И я вижу и таблицу AddressType, и getColumnNames SP, отображаемые в обозревателе серверов.
Но я все еще получаю эту ошибку, перечисленную выше.Вот фрагмент кода C #, который я использую для выполнения этого:
public static DataTable DisplayTableColumns (string tt) {SqlDataReader dr = null;строка TableName = tt;string connString = "Источник данных =; AttachDbFilename = \" C: \ Program Files \ Microsoft SQL Server \ MSSQL10.MSSQLSERVER \ MSSQL \ DATA \ AdventureWorks_Data.mdf \ "; Начальный каталог = AdventureWorks; Интегрированная безопасность = True; Время ожидания подключения =30; пользовательский экземпляр = False ";строка errorMsg;SqlConnection conn2 = новый SqlConnection (connString);SqlCommand cmd = conn2.CreateCommand ();
try
{
cmd.CommandText = "dbo.getColumnNames";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Connection = conn2;
SqlParameter parm = new SqlParameter("@TableName", SqlDbType.VarChar);
parm.Value = TableName;
parm.Direction = ParameterDirection.Input;
cmd.Parameters.Add(parm);
conn2.Open();
dr = cmd.ExecuteReader();
}
catch (Exception ex)
{
errorMsg = ex.Message;
}
И когда я проверяю errorMsg, он говорит следующее:
" at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)\r\n
в System.Data.SqlClient.SqlInternalConnection.OnError (SqlExceptionисключение, логическое значение breakConnection) \ r \ n
в System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning (TdsParserStateObject stateObj) \ r \ n
в System.Data.SqlClient.TdsParser.Run (RunBehhomSqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) \ r \ n
в System.Data.SqlClient.SqlDataReader.ConsumeMetaData () \ r \ n
класса_каталог_данных_каталогов.каталог_данных_данных_данных_данных.Дата_Data.Ratn
в System.Data.SqlClient.SqlCommand.FinishExecuteReader (SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) \ r \ n
в System.Data.SqlClient.SqlCehaeBeh, Логическое асинхронное) \ r \ n
в System.Data.SqlClient.SqlCommand.RunExecuteReader (CommandBehavior cmdBehavior, RunBehavior runBehavior, логическое значение returnStream, метод String, результат DbAsyncResult) \ r \ n
в System.Data.SqlClient.SqlCommand.RunExhater \ n
в System.Data.SqlClient.SqlCommand.ExecuteReader (поведение CommandBehavior, метод String) \ r \ n в System.Data.SqlClient.SqlCommand.ExecuteReader () \ r \ n
в ADONET_namespace.ADONET_.DisplayTableColumns (String tt) в C: \ Documents and Settings \ Admin \ Мои документы \ Visual Studio 2008 \ Projects \ AddFileToSQL \ AddFileToSQL \ ADONET method.cs: строка 35 "
Где строка 35 равна
dr = cmd.ExecuteReader ();