如何解决SQL Server中的“无效对象名称”?

时间:2010-06-18 12:00:12

标签: sql sql-server-2005

这是返回的错误消息:

  

Msg 208,Level 16,State 1,Line 1   无效的对象名称“ENG_PREP”。

尝试以下查询后会发生这种情况:

insert into ENG_PREP VALUES('572012-01-1,572012-01-2,572012-01-3,572013-01-1,572013-01-2',
'',
'500',
'',
'A320 P.001-A',
'Removal of the LH Wing Safety Rope',
'',
'',
'',
'0',
'',
'AF',
'12-00-00-081-001',
'',
'',
'',
'',
'',
'',
'' )

6 个答案:

答案 0 :(得分:8)

这意味着它不知道ENG_PREP是什么。

您需要首先使用'use xxx'(其中xxx是ENG_PREP生存的数据库名称)命令告诉它您正在使用的数据库。一旦这样做,您需要确保该数据库中存在ENG_PREP

如果您使用.Net进行连接,则需要确保指定初始目录,以便它知道要使用的数据库,这是web.config的示例摘录:

<add name="SqlConnection" connectionString="Data Source=(local)\SQLEXPRESS;Initial Catalog=your_db_name_here;Integrated Security=True"
     providerName="System.Data.SqlClient" />

答案 1 :(得分:4)

这并不一定意味着它在SQL插入查询本身中找不到“ENG_PREP”。检查在该表上运行的任何触发器,并确保所有触发器都具有正确拼写的确切表名。

这在调试存储过程时发生在我身上,我花了半个小时才找到它。

答案 2 :(得分:3)

我的意思是您正在使用的连接中不存在ENG_PREP表。

检查您是否连接到正确的服务器/数据库。另请检查表名。

答案 3 :(得分:1)

听起来无法找到表格。

检查您是否已连接到正确的数据库 该表存在并且拼写正确。

答案 4 :(得分:0)

我在纯文本查询中也遇到了这个错误..在我的Web应用程序中,我使用了三个连接字符串..我已经指定了具有特定DB名称和表名称的查询..我的错误得到解决..希望它可能对某人有用..

答案 5 :(得分:0)

目前正在学习 SQL Server 机器学习服务,我遇到了同样的问题,即数据库表从下一级提取,但位置与查找当前位置不同的 FROM。

所以我写的正是来自数据的来源:

@Override
public int getItemCount() {
    return mData.Size();
}

希望这对初始水平有所帮助