我正在尝试使用ODBC驱动程序在MySQL和MSSQL数据库之间建立连接。原因是我们的网站是用PHP和MySQL建立的,我们需要从SQL Server Manag管理数据库。演播室。
我已经将ODBC链接到MS ACCESS,所以MySQL MySQL驱动程序完全正常工作。
当我尝试从MICROSOFT SQL SERVER MANAGEMENT STUDIO >服务器对象>链接服务器>新链接服务器...
使用此配置:
我得到了这个错误:
我已经尝试了所有这些版本的MySQL OBDC驱动程序:
对于新的链接服务器:
- Driver={MySQL ODBC 5.3 ANSI Driver};
DATABASE=myDB;OPTION=134217728;PWD=myPASS;UID=myUSER;SERVER=mySERVER
- ODBC:DSN=KARALIGROUP32::Table=myTABLE
我也尝试过在“目录”中编写myTABLE。
我还必须提到,数据库SQL Server不是我自己的,所以我没有完整的凭据。这是我的用户的权限,来自SECURITY > LOGINS。
我的结论是:我认为这与MS SQL SERVER MANAGEMENT STUDIO配置或我作为用户的权限有关。
谢谢你的帮忙!
更新:
我听从了TallTed的建议,到目前为止它还不起作用。
在Security和Server Options选项卡中,我保留了它们,如前面的屏幕截图所示。我还尝试了屏幕截图中显示的所有ODBC连接。
还有其他想法吗?谢谢你的帮忙!
发布于 2018-07-06 00:16:01
我解决了!我使用的是一台客户端计算机。我在服务器上安装了驱动程序,然后遵循了这篇文章:https://www.mssqltips.com/sqlservertip/4570/access-mysql-data-from-sql-server-via-a-linked-server/
谢谢,我希望它能帮助一些人!
发布于 2018-06-29 03:40:21
首先,您所显示的错误与您的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位)与SQL Server配合使用。
现在--迈向成功的可能一步。在第一个屏幕截图中,产品名称必须为MSDASQL
.您不需要提供程序字符串,因为此字符串来自您的ODBC DSN。
https://stackoverflow.com/questions/51080225
复制相似问题