无效的对象名称'umbracoDomains'

时间:2011-01-19 15:13:41

标签: asp.net umbraco

我将Umbraco CMS的所有文件上传到我的http://blog.domain.com,并修改了web.config文件。当我指向blog.domain.com时,它会在主题中写入错误。子域的托管类型是物理托管,而不是子文件夹

上的子域

所以,我在这个子域中有第二个web.config文件。第一个是在主域。我觉得这不会有所不同。 这是屏幕截图:http://i.stack.imgur.com/PxSqq.jpg

我检查了我尝试登录数据库的数据库用户,并且它具有数据库的db_owner权限。

此外,我尝试使用谷歌搜索类似的问题,看看有类似错误的人是否解决了这个问题。这是一些页面,但我找不到解决方案。 请帮忙!这已经很久了! : - (

4 个答案:

答案 0 :(得分:8)

创建Umbraco数据库时,会创建一个新模式,并在此模式下创建所有表(例如。而不是dbo。)。

在复制Umbraco网站/ db时,我假设您更改了凭据,这意味着Umbraco数据访问层可能正在尝试查找表格。

我发现将模式更改为dbo可以解决此问题,并且可以使用以下SQL脚本实现(只要您的网站的Umbraco表包含在数据库中):

exec sp_MSforeachtable 'ALTER SCHEMA dbo TRANSFER ?'

有关详细信息,我最近撰写了一篇关于复制Umbraco网站的文章,该网站位于以下网址:

http://www.carbonsoft.co.uk/articles/2012/06/copying-an-umbraco-instance.aspx

虽然这个问题是前一段时间被问到的,但我希望这可以帮助其他有类似问题的人,

答案 1 :(得分:3)

如果连接字符串中没有数据库,也会出现此错误。

答案 2 :(得分:0)

Umbraco的数据层(不幸的是)区分大小写 - 这意味着Umbraco无法找到umbracoDomains表。检查表是否正确命名和/或装入 - 如果您的数据库不区分大小写,请确保所有表都是小写的,因为这应该有效。

答案 3 :(得分:-1)

carbonrb是正确的,当umbraco安装创建db时,它使用db user的默认凭据。您可以将模式更改为dbo,例如carbonrb建议或创建具有与umbraco 安装的默认模式相同的用户。用户不能处于sysadmin角色,因为它会将默认架构覆盖回dbo。