简体   繁体   English

MSSQL到MYSQL-从MSSQL中选择,插入MySQL

[英]MSSQL to MYSQL - Select from MSSQL , Insert into MySQL

Im trying to Establish a One Direction Sync from a specific query'd recordset from MSSQL (express 2008) to Mysql. 我正在尝试从特定查询的记录集(从MSSQL(2008版))到Mysql建立单向同步。 Here is that query. 这是该查询。

SELECT [datafk]
  ,[datahistorypk]
  ,[date]
  ,[displayText]
FROM [FCentral].[dbo].[DataHistory]

WHERE [sampleNr] = 
    (SELECT MAX (sampleNr) FROM [FCentral].[dbo].[DataHistory])

This results in a Multiple results. 这导致多个结果。 I need to insert each of those results into my "Linked Server" remotely connected MySQL DB Table. 我需要将这些结果中的每一个插入到我的“链接服务器”远程连接的MySQL DB表中。

This code works from SSMS and does insert into my MySQL DB. 此代码可从SSMS运行,并确实插入到我的MySQL DB中。

EXEC (' INSERT INTO  `farms`.`CCData` (
       `datafk` ,`datahistorypk` ,`date` ,`displayText` )
      VALUES ("222",  "13",  "2017-10-19 14:25:05",  "TEST"); ')
at BPF_REMOTE

Ultimately i will need to schedule this query to run automatically, It would be nice if it could run if a change was detected in the MSSQL table but that may be outside of my abilities. 最终,我将需要安排此查询自动运行。如果在MSSQL表中检测到更改,但是它可以运行,那就很好了,但这可能超出了我的能力范围。

I feel like im close, im just struggling to get the syntax right to convert from MSSQL to MySQL. 我感觉我很亲密,我只是在努力争取正确的语法以将MSSQL转换成MySQL。 Can anyone either point to a good example or help me with this query? 任何人都可以指出一个很好的例子或帮助我进行此查询吗?

Set up a linked server in SQL Server and just do a regular insert: 在SQL Server中设置链接服务器 ,然后执行常规插入操作:

INSERT INTO BPF_REMOTE.farms.CCData(datafk, datahistorypk, date, displayText)
    SELECT [datafk], [datahistorypk], [date], [displayText]
    FROM [FCentral].[dbo].[DataHistory]
    WHERE [sampleNr] = (SELECT MAX (sampleNr) FROM [FCentral].[dbo].[DataHistory]);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM