2011-01-19 168 views
2

我将Umbraco CMS的所有文件上载到我的http://blog.domain.com并修改了web.config文件。当我指向blog.domain.com时,它给出了写在主题中的错误。子域的托管类型是物理托管而不是子文件夹上的子域无效的对象名称'umbracoDomains'

因此,我在此子域中有第二个web.config文件。第一个是在主要领域。我很抱歉,这没有什么不同。 下面是屏幕截图:http://i.stack.imgur.com/PxSqq.jpg

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

此外,我试着用Google搜索类似的问题,看看是否有类似的错误已经解决了这个问题。以下是一些页面,但我一直无法找到解决方案。 请帮忙!这已经很长时间了! :-(

回答

0

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

8

在创建一把umbraco数据库,创建一个新的模式,并创建了所有的表这个模式下(例如,而不是DBO)。

随着Umbraco网站/数据库被复制,我认为你已经改变了凭据,这意味着Umbraco数据访问层可能试图找到表。

我发现改变模式以DBO解决了这个问题,并且可以实现(只要只为你的网站的一把umbraco表包含在数据库)以下SQL脚本:

exec sp_MSforeachtable 'ALTER SCHEMA dbo TRANSFER ?' 

更多细节,我最近写了一篇文章上复制以下网址找到一把umbraco网站:

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

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

3

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

+0

...或在我的情况下,错误的数据库。 – OutstandingBill 2016-02-07 11:06:43

-1

carbonrb是正确的,当umbraco安装创建数据库它使用db用户的默认凭据。您可以将架构更改为dbo,如碳信用建议或创建具有与umbraco安装相同的默认架构的用户。用户不能在sysadmin角色中,因为它会将默认架构覆盖回dbo。