Вопрос

Я получаю вышеуказанную ошибку в моем методе VS 2008 C #, когда я пытаюсь вызвать сохраненную процедуру SQL GetColumnamnames с VS. Этот SP принимает один входной параметр, имя таблицы и успешно работает от SSMS. В настоящее время я выбираю таблицу AdventureWorks AddressType для него, чтобы вытащить имена столбцов из этой таблицы. Я могу видеть таблицу AdventureWorks TEH, доступную в против моего сервера Explorer / Connection. И я вижу как таблицу адресаты, так и GetColumnnames SP, показывающие в Server Explorer.

Но я все еще получаю эту ошибку, перечисленную выше. Вот фрагмент C # код, который я использую для выполнения этого:

Public Static DataTable DisplayTableColumns (String TT) {sqldatareader dr = null; String TableName = TT; string connstring = "Источник данных =.; addicdbfilename = " C: Program Files Microsoft SQL Server MSSQL10.MSSQLSERVER MSSQL10.MSSQLSERVER MSSQL10.MDF "; начальный каталог = AdventureWorks; Integlated Security = True; Connect Timeout = 30; use instance = false "; строковая errormsg; SQLConnection CONN2 = новое SQLCONNUCTION (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, Boolean BreakConnection) R N
в System.data.sqlclient.tdsparser.throwexceptionandwarning (tdsparserstateobject pottobj) r n
В System.data.sqlclient.tdsparser.run (Runbehavior Runbehavior, SQLCOMMAD CMDHandler, SQLDATAREADER DataStream, BulkcopysimpleresUltset BulkcopyHandler, TDSPARSERSTATETATTOBJECT TOUSTOBJ)
в System.data.sqlclient.sqldatareader.consumemetadata () r n
в system.data.sqlclient.sqldatareader.get_metadata () r n
в System.data.sqlclient.sqlcommand.finishexecutereader (sqldatareader ds, runbehavior runbehavior, ring reseptionStionsstring) r n
в system.data.sqlclient.sqlcommand.runexecuteReaderdds (CommandBehavior Cmdbehavior, Runbehavior Runbehavior, Boolean RepeateStream, Boolean Async) R N
at system.data.sqlclient.sqlcommand.runexecutereader (CommandBehavior Cmdbehavior, Runbehavior Runbehavior, Boolean RepeateStream, String Method, результат DBasyncresult) R N
в System.data.sqlclient.sqlcommand.runexecuteReader (CommandBehavior Cmdbehavior, Runbehavior Runbehavior, Boolean Repeathtream, String Method) R N
В System.data.sqlclient.sqlcommand.executeReader (CommandBehavior поведение, строковый метод) R n на System.data.sqlclient.sqlcommand.executereader () r n
На adonet_namespace.adonet_methods.displaytableColums (строка TT) в C: Documents and Settings admin My Documents Visual Studio 2008 Projects AddfiletoSQL AddfiletoSQL Adonet Methodss.Cs: Line 35 "

Где линия 35

dr = cmd.executeReader ();

Это было полезно?

Решение

Я быстро проверил базу данных AdventureWorks и видишь, что таблица «AddressType» принадлежит к схему «человеку». Попробуйте пропустить «Person.AddressType» в качестве значения значения параметра команд в коде.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top