使用OBDC驱动程序将MySQL链接到MS SQL Server(错误7303)

时间:2018-06-28 10:12:20

标签: mysql sql sql-server database odbc

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

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

当我尝试从MICROSOFT SQL SERVER MANAGEMENT STUDIO>服务器对象>链接服务器>新建链接服务器...链接它们时

使用此配置:

First tab of configuration

Second tab of configuration

Third tab of configuration

我收到此错误:

ERROR 7303


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

  • ODBC 5.3 Unicode(32位)-这是使用MS ACCESS的一种
  • ODBC 5.3 ANSI(32位)
  • ODBC 5.3 Unicode(64位)
  • ODBC 5.3 ANSI(64位)
  • ODBC 8.0 Unicode(64位)
  • ODBC 8.0 ANSI(64位)

ODBC System Configuration


对于新的链接服务器:

  1. 我尝试用“提供商字符串”编写此代码:

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

    • ODBC:DSN = KARALIGROUP32 :: Table = myTABLE

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

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

我还必须提到数据库SQL Server不是我自己的数据库,因此我没有完整的凭据。这是我的用户从“安全”>“登录”获得的权限。

My login properties


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

感谢您的帮助!


更新

我已遵循 TallTed 的建议,但该建议目前尚未奏效。

First update

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

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

2 个答案:

答案 0 :(得分:0)

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

下一步-请记住Microsoft SQL Server并不是真正的ODBC客户端应用程序,这一点很重要。它是一个OLE DB和ADO.NET客户端应用程序。

还请注意-64位SQL Server需要64位ODBC驱动程序; 32位SQL Server需要32位ODBC驱动程序。如this article on my employer's site中所述,64位SQL Server还有一些额外的陷阱。

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

现在-迈向成功的可能一步。 在您的第一个屏幕截图中,产品名称必须为 MSDASQL 。您不需要提供者字符串,因为该字符串来自ODBC DSN。

答案 1 :(得分:0)

我解决了! 我正在使用客户端计算机。我在服务器中安装了驱动程序,然后关注此帖子:https://www.mssqltips.com/sqlservertip/4570/access-mysql-data-from-sql-server-via-a-linked-server/

谢谢,希望对您有所帮助!