首页 > 解决方案 > 使用 OBDC 驱动程序将 MySQL 链接到 MS SQL Server(错误 7303)

问题描述

我正在尝试使用 ODBC 驱动程序在 MySQL 和 MSSQL 数据库之间建立链接。原因是我们的网站是使用 PHP 和 MySQL 构建的,我们需要从 SQL Server Manag 管理数据库。工作室。

我已经将 MySQL 链接到 MS ACCESS,因此 MySQL ODBC 驱动程序可以正常工作。

当我尝试从 MICROSOFT SQL SERVER MANAGEMENT STUDIO > SERVER OBJECTS > LINKED SERVERS > NEW LINKED SERVER...

使用此配置:

配置的第一个选项卡

第二个配置选项卡

第三个配置选项卡

我收到此错误:

错误 7303


我已经尝试过所有这些版本的 MySQL OBDC 驱动程序:

ODBC 系统配置


对于新的链接服务器:

  1. 我试过在“提供者字符串”中写这个:

    • Driver={MySQL ODBC 5.3 ANSI 驱动程序};
      数据库=myDB;OPTION=134217728;PWD=myPASS;UID=myUSER;SERVER=mySERVER

    • ODBC:DSN=KARALIGROUP32::Table=myTABLE

我也尝试在“目录”中编写 myTABLE。

  1. 对于安全选项卡,我已经尝试了所有给出的四个选项。(在最后一个选项中,我输入了 MySQL DB 和 SQL Server 的登录名)
  2. 对于“服务器选项”选项卡,我尝试给出 RPC 和 RPC 输出(都为 TRUE 或都为 FALSE)

我还必须提到数据库 SQL Server 不是我自己的,所以我没有完整的凭据。这是我的用户从 SECURITY > LOGINS 获得的权限。

我的登录属性


我的结论:我认为这与 MS SQL SERVER MANAGEMENT STUDIO 配置或我作为用户的权限有关。

谢谢你的帮助!


更新:

我遵循了TallTed给出的建议,它还没有奏效。

第一次更新

在“安全性”和“服务器选项”选项卡中,我将它们保留在前面的屏幕截图中。我还尝试了屏幕截图中显示的所有 ODBC 连接。

还有其他想法吗?谢谢你的帮助!

标签: mysqlsqlsql-serverdatabaseodbc

解决方案


首先 - 您显示的错误与您的 SQL Server 用户权限无关。

接下来——重要的是要记住,Microsoft SQL Server 并不是真正的 ODBC 客户端应用程序。它是一个 OLE DB 和一个 ADO.NET 客户端应用程序。

另请注意——64 位 SQL Server 需要 64 位 ODBC 驱动程序;32 位 SQL Server 需要 32 位 ODBC 驱动程序。64 位 SQL Server 有一些额外的陷阱,如我雇主网站上的这篇文章中所述。

如果您的数据是严格的 8 位“窄”代码页,那么您不需要 Unicode 驱动程序,并且可能会发现使用 ANSI 驱动程序更容易。也就是说,假设您有ODBC 5.3 Unicode(32 位)与 Access 一起使用,我认为您将成功使用该或ODBC 5.3 Unicode(64 位)与 SQL Server。

现在——迈向成功的可能一步。在您的第一个屏幕截图中,产品名称必须是MSDASQL. 您将不需要Provider String,因为此字符串来自您的 ODBC DSN。


推荐阅读