【问题标题】:Is it possible to convert a sdf umbraco database to Azure SQL?是否可以将 sdf umbraco 数据库转换为 Azure SQL?
【发布时间】:2015-03-02 09:52:19
【问题描述】:

我有一个项目使用本地数据库 (SDF) 用于托管在 azure 上的 umbraco,我想将该本地数据库中的数据复制到将托管在 Azure sql 上的新数据库,然后我想更新连接字符串以使用该数据库,这可能吗?或者我需要从头开始重做网站。

我已尝试寻找答案,但似乎找不到答案。 我已经使用 webmatrix 下载了网站,但是整个项目的数据库没有下载:/

【问题讨论】:

  • stackoverflow.com/questions/13121280/…。下载 SQL Compact 数据库后,您应该能够使用 SQL management studio 将数据库表编写到 Azure SQL 中,然后更新 web.config 文件以指向新数据库。
  • 我做到了,然后我将其转换为 SQL,添加了密钥和所有内容,但是当我将其上传到 azure 时,我得到了很多空引用错误。我做错了什么......
  • 最后我使用 webmatrix 创建了一个新的 umbraco 项目,创建了一个带有 sql 数据库的新模板站点,并从旧的 sdf 执行 sql 查询。该数据库中的数据库,然后我将其迁移到 azure 并且它工作了

标签: database azure umbraco webmatrix umbraco7


【解决方案1】:

是的,如果您使用此导出器,您可以生成数据库的脚本:

http://exportsqlce.codeplex.com/releases/view/116839

ExportSqlCe40.exe "Data Source=Umbraco.sdf;" export.sql sqlite
Initializing....
Generating the tables....
Generating the data....
Generating the indexes....
Sent script to output file(s) : export.sql in 760 ms

然后您必须添加额外的行以在登录表上添加索引

CREATE CLUSTERED INDEX umbracoUserLogins_Index ON umbracoUserLogins (contextID);

我遇到的问题是为 umbracoNode 表生成的记录顺序。您必须确保首先插入带有键 -1 的项目,并且它没有标记我必须手动执行的标识列。

在 azure sql server 实例上运行后,更改连接字符串,确保将提供程序字符串更新为 System.Data.SqlClient

<add name="umbracoDbDSN" providerName="System.Data.SqlClient" connectionString="[azureconnectionstring]" />

【讨论】:

  • 对于 Umbraco 7,无需手动添加任何索引,如果您想将 SDF 迁移到 Azure SQL 数据库,只需执行导出即可。
【解决方案2】:

最后,我使用 webmatrix 创建了一个新的 umbraco 项目,创建了一个带有 sql 数据库的新模板站点,并从旧的 sdf 执行了 sql 查询。该数据库中的数据库,然后我将其迁移到 azure,只对集群键进行了少量修改,它就可以工作了

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-31
    • 1970-01-01
    • 1970-01-01
    • 2020-12-10
    相关资源
    最近更新 更多