【问题标题】:Can I use different data connections together in Visual Studio?我可以在 Visual Studio 中同时使用不同的数据连接吗?
【发布时间】:2010-07-29 14:16:04
【问题描述】:

是否可以在 Visual Studio 中使用两个或多个数据连接并在单个查询中使用它们,就像我们在 SQL Server Management Studio 中所做的那样(同时我们使用 MySQL 和 MSSQL)?

例如

SELECT * INTO testMySQL.dbo.shoutbox
FROM openquery(MYSQL, 'SELECT * FROM tigerdb.shoutbox')

【问题讨论】:

    标签: sql sql-server visual-studio sqldatasource


    【解决方案1】:

    如果您使用 Microsoft SQL Server 和 MySQL,那么您可以使用 Microsoft SQL Server Linked Server 来完成此操作。链接服务器是通过 OLEDB 链接的服务器。此链接服务器将允许您从 SQL Server 连接到 MySQL 数据库并运行远程查询。

    例子

    SELECT * from MyLinkedServer.[Database].[Schema].TableName  T1
    INNER JOIN MYSQLSERVER.DATABASE.DBO.TABLENAME T2 ON T1.PK = T2.PK
    

    SELECT * FROM OPENQUERY([NameOfLinkedSERVER], 'SELECT * FROM TABLENAME') T1
    INNER JOIN MYSQLSERVER.DATABASE.DBO.TABLENAME T2 ON T1.PK = T2.PK
    

    【讨论】:

    • 但是您仍然会在一个数据连接上触发此查询,不是吗? (我在这里学习,所以无论哪种方式你的答案都很好)。
    • 是的,它在您的应用程序中只有一个数据连接,但这一数据连接将允许您在 MYSQL Server 上执行远程查询。
    • 亲爱的 Hartsock,您的查询很有用,但仍然没有解决我在 Visual Studio 的查询生成器中的问题,我有 2 个不同的数据连接: 1.mysql 连接名为 dimAccess 2.mssql 服务器连接命名为 te-sharepoint\sqlexpress.dimAccess.dbo 现在我想在单个选择查询中从这两个连接中选择数据,下面的查询是我的情况: SELECT * FROM OPENQUERY(MYSQLDIMACCESS, 'SELECT * FROM tb_user) T1 INNER JOIN te-sharepoint\sqlexpress.dimAccess.dbo.tblUserProfileT2 ON T1.id = T2.iEmpID 此查询仅在 SqlServerManagement 中具有正确结果,但 NotInVS
    • 谢谢Hartsock先生...我根据您的示例找到了解决方案...我唯一的错误与数据连接的错误命名有关,默认情况下使用特殊字符,如'-'或'\' ...无论如何...很好的经验...再次感谢...
    • 亲爱的 Hartsock,我有另一个与此 openquery 闭包相关的问题:如何在 sql openquery 中使用参数,例如:SELECT * FROM OPENQUERY([NameOfLinkedSERVER], 'SELECT * FROM TABLENAME where field1 =@someParameter') T1 INNER JOIN MYSQLSERVER.DATABASE.DBO.TABLENAME T2 ON T1.PK = T2.PK
    【解决方案2】:

    否(AFAIK)。但是您也许可以从您的 web.config 中解构连接字符串以获取数据库位置,然后从那里重新创建您的 sql(在 SP 中)?

    【讨论】:

    • 首先感谢您的努力!我已经理解了一些事情,但是我应该做的事情,我仍然需要更多细节,拜托...拜托,你能解释一下或给我任何例子,比如一步一步:) ...
    猜你喜欢
    • 1970-01-01
    • 2018-02-19
    • 1970-01-01
    • 2012-07-10
    • 1970-01-01
    • 1970-01-01
    • 2012-01-15
    • 1970-01-01
    • 2021-05-26
    相关资源
    最近更新 更多