【问题标题】:Is it possible to insert data in MySQL from a SQL Server trigger?是否可以从 SQL Server 触发器向 MySQL 中插入数据?
【发布时间】:2010-12-23 09:29:32
【问题描述】:

周五下午的一个有趣的问题,不是吗?

如问题所述,是否可以编写将数据插入 MySQL 表的 SQL Server 触发器?


编辑:是的,我知道这基本上是一个愚蠢的想法,应用程序应该这样做等等。 但是这是一个传统的经典 ASP 应用程序,我们正在过渡到 MySQL;在我们摆脱 ASP 位之前,我们真的希望能够在不接触 ASP 代码的情况下将数据发送到 MySQL 系统。

因为有龙。只是提及它往往会使其崩溃。

谢谢大家!

【问题讨论】:

  • 是的,但是你为什么要给你的 SQL 服务器这么大的权力,并且(可能)在触发器上花这么多时间呢?需要担心超时,身份验证等。我认为最好将插入/删除请求放在另一个模块中,然后让它处理它需要的每个数据库。
  • Err.strike 说“是的。”我假设这是可能的,但我找不到任何参考。我仍然坚持我最初的想法,将插入物分离到单独的模块中是更好的方法。
  • @Michael:我不同意你的观点——本能地谈论触发器会让我对数据模型提出严重质疑。
  • @Michael Todd - 因为在架构上这是(信不信由你)在实时系统中获取数据的最简单点。这很丑,我知道,我知道......
  • 啊(更新后),现在我明白了;你必须这样做。

标签: sql mysql sql-server sql-server-2005 triggers


【解决方案1】:

为了将数据写入与 SQL Server 不同的数据库,您必须首先在 SQL Server 上创建一个链接服务器实例,该实例指向具有适当凭据/权限的另一个数据库(本例中为 MySQL)。

【讨论】:

  • 好的,那我该怎么做呢? (我是开发人员,不是数据库专家,请见谅!)
  • SQL Server - 链接服务器:msdn.microsoft.com/en-us/library/ms188279.aspx
  • @RickNZ 谢谢!那个看起来很完美 - 我们会试一试。
【解决方案2】:

一种方法是使用 SQL CLR。您可以有一个访问 MySql DB 的 CLR 存储过程或函数。

【讨论】:

    猜你喜欢
    • 2013-11-09
    • 2022-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多