2010-07-29 24 views
2

可以在visual studio中使用2個或多個數據連接並在單個查詢中使用它們,就像我們可以在sql server管理中一樣(同時我們使用mysql和mssql dbms):在visual studio中使用不同的數據連接

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

回答

2

如果您使用Microsoft SQL Server和MYSQL,那麼您可以使用Microsoft SQL Server鏈接服務器來完成此操作。鏈接服務器是通過OLEDB鏈接的服務器。該鏈接的服務器將允許您從SQL Server連接到MYSQL數據庫並運行遠程查詢。

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

OR

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

但是,你仍然是在一個數據連接觸發此查詢,wouldn你呢? (我在這裏學習,所以你的答案很好)。 – Tobiasopdenbrouw 2010-07-29 14:31:31

+0

是的,它只會在您的應用程序中有一個數據連接,但是這一個數據連接將允許您在MYSQL服務器上執行遠程查詢。 – 2010-07-29 15:26:26

+0

親愛的Hartsock, 您的查詢很有用,但仍然沒有解決我在visual studio的查詢生成器中的問題,其中有兩個不同的數據連接: 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 – gaponte69 2010-07-30 07:08:53

0

否(據我所知)。但是你也許可以從你的web.config解構連接字符串來獲取數據庫位置,並從那裏重新創建你的sql(在一個SP中)?

+0

首先感謝你的努力!我理解的東西,但我應該做的方式,仍然需要更多的細節,請... 請,你能解釋或給我任何例子,像一步一步:) ... – gaponte69 2010-07-29 14:23:17

+0

這有幫助嗎? http://stackoverflow.com/questions/1355472/using-the-web-config-to-set-up-my-sql-database-connection-string – Tobiasopdenbrouw 2010-07-29 14:33:44

相關問題