我正在尝试使用ODBC驱动程序在MySQL和MSSQL数据库之间建立链接。原因是我们的网站是使用PHP和MySQL构建的,我们需要通过SQL Server Manag管理数据库。工作室。
我已经将MySQL链接到MS ACCESS,因此MySQL ODBC驱动程序可以正常工作。
当我尝试从MICROSOFT SQL SERVER MANAGEMENT STUDIO>服务器对象>链接服务器>新建链接服务器...链接它们时
使用此配置:
我收到此错误:
我尝试了所有这些版本的MySQL OBDC驱动程序:
对于新的链接服务器:
我尝试用“提供商字符串”编写此代码:
Driver = {MySQL ODBC 5.3 ANSI驱动程序};
DATABASE = myDB; OPTION = 134217728; PWD = myPASS; UID = myUSER; SERVER = mySERVER
ODBC:DSN = KARALIGROUP32 :: Table = myTABLE
我还尝试过在“目录”中编写myTABLE。
我还必须提到数据库SQL Server不是我自己的数据库,因此我没有完整的凭据。这是我的用户从“安全”>“登录”获得的权限。
我的结论:我认为这与MS SQL SERVER MANAGEMENT STUDIO配置或我作为用户的权限有关。
感谢您的帮助!
更新:
我已遵循 TallTed 的建议,但该建议目前尚未奏效。
在“安全性和服务器选项”选项卡中,我将其保留,如先前的屏幕快照所示。 我还尝试了截图中显示的所有ODBC连接。
还有其他想法吗?感谢您的帮助!
答案 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/
谢谢,希望对您有所帮助!