我正在尝试创建到 MySQL 数据库的链接服务器,但我不断收到错误 7303:未找到数据源名称且未指定默认驱动程序。
- 数据库位于我必须使用登录名和密码远程连接的服务器上
- 我使用远程桌面连接来连接到服务器
- 我创建了 64 位和 32 位系统 DSN,测试时连接成功
这是我正在使用的字符串:
- 对于 64 位:
EXEC master.dbo.sp_addlinkedserver @server = N'ECWIMA64' ,@srvproduct=N'MySQL' ,@provider=N'MSDASQL' ,@datasrc=N'ECWIMA' ,@provstr=N'Driver={MySQL ODBC 8.0 ANSI Driver};DATABASE=mobiledoc;OPTION=134217728;PWD=password;UID=SQLUser;SERVER=ip address;Port=port' EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname = N'ECWIMA64', @locallogin = NULL , @useself = N'False', @rmtuser = N'*\Administrator', @rmtpassword = N'password'
- 对于 32 位:
EXEC master.dbo.sp_addlinkedserver @server = N'ECWIMA32' ,@srvproduct=N'MySQL' ,@provider=N'MSDASQL' ,@datasrc=N'ECWIMA32' ,@provstr=N'Driver={MySQL ODBC 5.1 Driver};DATABASE=mobiledoc;OPTION=134217728;PWD=password;UID=SQLUser;SERVER=ip address;Port=port' EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname = N'ECWIMA32', @locallogin = NULL , @useself = N'False', @rmtuser = N'*\Administrator', @rmtpassword = N'password'
另外,我不是 IT,所以请帮我简化一下。
这是下一次尝试:
EXEC master.dbo.sp_addlinkedserver
@server = N'ECWIMA64'
,@srvproduct=N'MySQL'
,@provider=N'MSDASQL'
,@datasrc=N'ECWIMA'
,@catalog=N'mobiledoc'
,@provstr=N'Driver={MySQL ODBC 8.0 ANSI Driver};DATABASE=mobiledoc;OPTION=134217728;PWD=password;UID=SQLUser;SERVER=ipaddress;Port=4928;ODBC:DSN=ECWIMA'
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname = N'ECWIMA64', @locallogin = NULL , @useself = N'False', @rmtuser = N'*\Administrator', @rmtpassword = N'password'
最佳答案
您是否创建了 ODBC 数据源?您需要先创建数据源并引用数据源名称:
@provstr=N'ODBC:DSN=YourDataSourceName'
例如:
EXEC master.dbo.sp_addlinkedserver @server = N'ECWIMA64' ,@srvproduct=N'MySQL' ,@provider=N'MSDASQL' ,@datasrc=N'ECWIMA' ,@provstr=N'ODBC:DSN=ECWIMA',@catalog=N'MySqlSchemaName'
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname = N'ECWIMA64', @locallogin = NULL , @useself = N'False', @rmtuser = N'MysqlAccount', @rmtpassword = N'password'
您需要提供链接服务器的 mysql 数据库名称和 mysql 帐户
关于mysql - 在 SSMS 中创建到远程服务器上的 MySQL 数据库的链接服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59683026/