Kev*_*vin 12 mysql sql-server linked-server openquery
我正在尝试使用查询MySQL链接服务器SQL Server.
以下查询运行正常.
SELECT * FROM OPENQUERY([Linked_Server], 'SELECT * FROM Table_Name')
Run Code Online (Sandbox Code Playgroud)
是否可以在不使用OpenQuery调用的情况下运行相同的查询?
Kev*_*vin 17
在这里找到答案.现在我可以使用三点符号查询.谢谢
http://www.sparkalyn.com/2008/12/invalid-schema-error/
转到提供程序选项屏幕在SQL Server 2005中,您可以在链接服务器上方的文件夹中看到提供程序列表(假设您具有适当的权限).右键单击MSDASQL并转到属性.在SQL Server 2000中,提供程序选项按钮位于创建链接服务器的对话框中.选中"仅限零级"的复选框
vah*_*rat 10
你可以使用下面的声明
select*from [linkedServerName] ... [databaseName.TableName]
但在执行上面的代码之前,你必须做一些改变..
在SQL Server Management Studio中,转到"链接服务器"文件夹,打开Providers文件夹,找到MSDASQL并获取它的属性然后选中"Level Zero Only"按Ok ...然后执行上面的查询并享受它!
您应该能够直接查询链接服务器。
\nselect * from mylinkedserver.database.schema.mytable\nRun Code Online (Sandbox Code Playgroud)\n编辑:
\n尝试使用本文中提到的三点符号:\n http://www.ideaexcursion.com/2009/02/25/howto-setup-sql-server-linked-server-to-mysql/
\nSELECT * FROM MYSQLAPP...tables\nRun Code Online (Sandbox Code Playgroud)\n\n\n消息 7399,级别 16,状态 1,第 1 行链接服务器“MySQLApp”的 OLE DB 提供程序“MSDASQL”报告错误。提供商未提供\n有关该错误的任何信息。消息 7312,级别 16,状态 1,第 1 行\n对链接服务器“MySQLApp”的 OLE DB 提供程序“MSDASQL”的架构或目录使用无效。提供了由四部分组成的名称,但\n提供程序未公开使用目录或\n架构所需的接口。
\n此 \xe2\x80\x9cfour-part name\xe2\x80\x9d 错误是由于 MySQL ODBC 驱动程序中的限制造成的。您无法使用点\n符号切换目录/模式。相反,您必须为要访问的不同目录注册另一个 DSN 和\n链接服务器。请务必遵循示例查询中注明的三点符号。
\n
小智 5
尝试这样:
SELECT * FROM [Linked_Server]...[db_name.table_name]
Run Code Online (Sandbox Code Playgroud)
工作正常,但是存在转换数据类型的问题。使用起来更安全,更可靠。
SELECT * FROM OPENQUERY([Linked_Server], 'SELECT * FROM db_name.table_name')
Run Code Online (Sandbox Code Playgroud)
小智 5
使用这个有一个重要的点:
SELECT * FROM [Linked_Server]...[db_name.table_name]
Run Code Online (Sandbox Code Playgroud)
你必须继续
链接服务器 -> 提供者 -> MSDASQL:
并确保这三个选项已被选中
https://www.sqlteam.com/forums/topic.asp?TOPIC_ID=153024
| 归档时间: |
|
| 查看次数: |
25740 次 |
| 最近记录: |