问题与[SqlException(0x80131904):无效的对象名称'dbo.TableName'。]

问题描述:

我正在寻找谷歌和*,我没有找到答案,我怎样才能连接到我的数据库表通过VS中的连接字符串2010?问题与[SqlException(0x80131904):无效的对象名称'dbo.TableName'。]

<add 
    name="ArticleDBContext" 
    connectionString="Data Source=mssql3.webio.pl,2401;Initial Catalog=db_name;Persist Security Info=True;User ID=db_user;Password=passwd;Pooling=False" 
    providerName="System.Data.SqlClient" 
/> 

我总是得到错误:问题[SQLEXCEPTION(0x80131904):无效的对象名称dbo.TableName']

我知道, 'DBO' 是图式,我并不需要它,我怎么能改变它?

我使用MVC和的EntityFramework

和代码是这样的:

在机型:

public class Article 
{ 
    public int ID { get; set; } 
    public string Title { get; set; } 
    public DateTime CreateDate { get; set; } 
    public string tekst { get; set; } 
} 

public class ArticleDBContext : DbContext 
{ 
    public DbSet<Article> Articles { get; set; } 
} 

和控制器:

public ViewResult Index() 
    { 
     return View(db.Articles.ToList()); 
    } 

的例子中,取自http://www.asp.net/mvc/tutorials/getting-started-with-mvc3-part4-cs

+2

欢迎访问http://*.com。您正在接收此错误,因为您已连接到数据库,并且正在执行的查询包含错误的表名。请在这里粘贴一些代码行作进一步说明,以便有人可以更好地回答你... – 2011-05-16 09:37:30

+0

@Naveed对接,我已更新我的帖子,所以也许现在你可以帮我吗? – zbarriver 2011-05-16 10:36:02

我发现答案,它帮助!

来源:http://blogs.x2line.com/al/articles/155.aspx

MSSQL:变更表中所有者与sp_changeobjectowner以DBO

有时是需要改变数据库中的所有表要由DBO进行维修或修复了意外资错误。 dbo schema拥有的所有表通常是MSSQL数据库应用程序开发中的最佳实践,而我们可以在现实生活中满足不同的方法...

以下小型SQL代码片段贯穿数据库中的所有用户表,并更改它们老板给dbo。它使用sp_changeobjectowner系统存储过程:

DECLARE tabcurs CURSOR 
FOR 
SELECT 'SOMEOWNER.' + [name] 
    FROM sysobjects 
WHERE xtype = 'u' 

OPEN tabcurs 
DECLARE @tname NVARCHAR(517) 
FETCH NEXT FROM tabcurs INTO @tname 

WHILE @@fetch_status = 0 
BEGIN 

EXEC sp_changeobjectowner @tname, 'dbo' 

FETCH NEXT FROM tabcurs INTO @tname 
END 
CLOSE tabcurs 
DEALLOCATE tabcurs