SQL неверный объект name 'addresstype'
-
24-09-2019 - |
Вопрос
Я получаю вышеуказанную ошибку в моем методе 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» в качестве значения значения параметра команд в коде.