【问题标题】:Can you replicate data from MS SQL Server 2005 to MySQL 5.1 one-way?您可以将数据从 MS SQL Server 2005 复制到 MySQL 5.1 吗?
【发布时间】:2010-09-23 04:11:14
【问题描述】:

我需要设置从 SQL Server 2005 数据库到 MySQL 5.1 数据库的单向事务复制。

我已经安装了 ODBC 驱动程序并开始着手创建出版物,但是我收到了一个我没有找到解决方案的错误。

错误是

设置发布参数失败 @enabled_for_het_sub 因为它不是 在工作组 sku 中支持。

这是我用来创建发布的 SQL 语句。

use [Test_Database]
exec sp_replicationdboption @dbname = N'Test_Database', @optname = N'publish', @value = N'true'
GO
-- Adding the transactional publication
use [Test_Database]
exec sp_addpublication @publication = N'TestMySQL',
 @description = N'Transactional publication of database ''Test_Database'' from Publisher ''SRV01\Testing''.', 
 @sync_method = N'character', @retention = 0, @allow_push = N'true', @allow_pull = N'true', @allow_anonymous = N'false',
 @enabled_for_internet = N'false', @snapshot_in_defaultfolder = N'true', @compress_snapshot = N'false', @ftp_port = 21,
 @allow_subscription_copy = N'false', @add_to_active_directory = N'false', @repl_freq = N'continuous', @status = N'active',
 @independent_agent = N'true', @immediate_sync = N'false', @allow_sync_tran = N'false', @autogen_sync_procs = N'false',
 @allow_queued_tran = N'false', @conflict_policy = null, @ftp_address = null, @ftp_subdirectory = null, @ftp_password = null,
 @allow_dts = N'false', @replicate_ddl = 0, @allow_initialize_from_backup = N'false', @enabled_for_p2p = N'false', @pre_snapshot_script = null,
 @post_snapshot_script = null, @qreader_job_name = null, @queue_type = null, @enabled_for_het_sub = N'true'
GO


exec sp_addpublication_snapshot @publication = N'TestMySQL', @frequency_type = 1, @frequency_interval = 1, @frequency_relative_interval = 1,
 @frequency_recurrence_factor = 0, @frequency_subday = 8, @frequency_subday_interval = 1, @active_start_time_of_day = 0,
 @active_end_time_of_day = 235959, @active_start_date = 0, @active_end_date = 0, @job_login = null, @job_password = null,
 @publisher_security_mode = 1


use [Test_Database]
exec sp_addarticle @publication = N'TestMySQL', @article = N'TestTable', @source_owner = N'dbo', @source_object = N'TestTable',
 @type = N'logbased', @description = null, @creation_script = null, @pre_creation_cmd = N'drop', @schema_option = 0x000000000803509F, 
 @identityrangemanagementoption = N'manual', @destination_table = N'TestTable', @destination_owner = N'dbo', @vertical_partition = N'false',
 @ins_cmd = N'CALL sp_MSins_dboTestTable', @del_cmd = N'CALL sp_MSdel_dboTestTable', @upd_cmd = N'SCALL sp_MSupd_dboTestTable'
GO

我检查了@enabled_for_het_sub,并确保所有参数都正确。

有什么想法吗?

【问题讨论】:

  • 发布适用于 SQL Server 实例,而不是不同的数据库供应商。我不明白您为什么不使用链接服务器实例从 SQL Server 写入 MySQL...

标签: sql mysql odbc replication transactional-replication


【解决方案1】:

我让它工作只是fine。但是我没有使用 SQL Server 的 Workgroup edt。

错误与您的服务器版本有关。 SQL Server 的工作组版可能不支持向异构订阅者发布。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-15
    • 1970-01-01
    • 2012-04-22
    • 2013-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多