将html数据从mysql(wordpress)移动到sqlserver

时间:2015-08-05 11:21:46

标签: php mysql asp.net sql-server wordpress

我正在将网站升级到asp.net,其中至少有100万个帖子在wordpress中。我找不到任何有关移动的相关主题,所以我想分享我的经验。

大数据不是问题,但是,一些wordpress表的html数据包含引号(单引号和双引号),& nbsp,tab字符等。我已经尝试了很多方法进行导出,但导出到SQL文件对我来说不起作用(至少,我无法使用它,它会导致很多麻烦)。

2 个答案:

答案 0 :(得分:0)

移动数据的最佳方式是导出为CSV文件,单独为每个表导出。导出时,您必须:

  1. 自定义导出
  2. 两个"用"分隔的列的不同且唯一的字符串;和"用"括起来的列; (我分别使用############和@@@@@@@)
  3. 检查"删除列"
  4. 中的回车符/换行符
  5. 检查"将列名放在第一行"
  6. 下载导出文件
  7. 下载后,将进行更换:

    1. 带空格的标签\ t - >空间
    2. 单引号加#34; - > '
    3. ###### - > \吨
    4. @@@@@@@ - > "
    5. 最后,需要进行编码转换。 myadmin输出是ANSI文件,它已损坏。 Sql server可能无法处理它。要解决它,首先转换为UTF-8并再次转换为ANSI(在记事本++中,它有"编码"菜单中的选项)。

      导入到SQL Server时,必须选择文本文件作为源。选择相关的csv文件,在导入时,请注意列长度。 Sql server会使你的所有列varchar(50)都默认。导出的数据将具有更大的列。您必须手动在导入向导中调整它们。使用 DT_Text (不是DT_NTEXT)作为字符串值。

      我知道这个过程会导致一些数据丢失(标签和双引号)但是,它是wordpress' html编辑器的错。 为了这些目的,Html数据应该以编码的形式存储在数据库中......

答案 1 :(得分:0)

使用在目标系统上创建的链接服务器;通过这种方式,导入过程可以由SQL-Server驱动,并且有望在不需要太多步骤的情况下生成可随时使用的结果。检查。

有许多关于从SQL-Server与MySQL交互的SO帖子:
Can't create linked server - sql server and mysql
SELECT * FROM Linked MySQL server
Do I have to use OpenQuery to query a MySQL Linked Server from SQL Server?