복붙노트

[SQL] 링크 된 MySQL 서버 SELECT * FROM

SQL

링크 된 MySQL 서버 SELECT * FROM

나는 2012 년 (120.120.55.15)는 SQL 서버가

오늘은 내 SQLServer에에 MySQL 서버 (120.120.55.30)를 연결하고 이름 "MYSQL"을했다.

개체 탐색기에서 모든 것이 잘 보인다. 나는 거기에 MySQL 서버 데이터베이스 "예를 데이터베이스"와 테이블을 볼 수 있습니다.

그러나 때이 같은 선택 쿼리를 실행하려고 :

SELECT * 
FROM   openquery
        (
        MYSQL, 
        '
         SELECT * 
         FROM [exampleDataBase].[msProcMatrix]
        '
        )

내가 실수를 얻을 :

무슨 일이 추가로 내 연결 MySQL 서버를 사용하기 위해 수행해야 하는가?

해결법

  1. ==============================

    1.결정을 찾았습니다

    결정을 찾았습니다

    SELECT * 
    FROM openquery(MYSQL, 'SELECT * FROM exampleDataBase.msProcMatrix')
    

    괄호없이!

    나를하지만 작품에 대한 이상한 ...

  2. ==============================

    2.이 마이 SQL 3.51 64 비트 ODBC 드라이버를 사용하여 MS SQL 서버 2008 64 비트에서 같은 문제를 싸움 후 나를 위해 큰 일

    이 마이 SQL 3.51 64 비트 ODBC 드라이버를 사용하여 MS SQL 서버 2008 64 비트에서 같은 문제를 싸움 후 나를 위해 큰 일

    SELECT *
    FROM OPENQUERY
    (
       linked_server_name,
       'SELECT * FROM linked_database_name.linked_table_name'
    )
    
  3. ==============================

    3.내가 연결된 서버로 작업 할 때, 나는에서 선택 *를 사용하지 않습니다.

    내가 연결된 서버로 작업 할 때, 나는에서 선택 *를 사용하지 않습니다.

    선택 열 1, 열 2, ... ColumnN에서 함께하십시오.

    항상 나를 위해 잘 작동합니다.

  4. ==============================

    4.당신은 데이터베이스 이름과 테이블 이름과 스키마 이름이 필요할 수 있습니다.

    당신은 데이터베이스 이름과 테이블 이름과 스키마 이름이 필요할 수 있습니다.

    SELECT * 
    FROM   openquery
            (
            MYSQL, 
            '
             SELECT * 
             FROM [exampleDataBase].**[dbo]**.[msProcMatrix]
            '
            )
    
  5. ==============================

    5.기본 카탈로그 ( "exampleDataBase은") ODBC에 구성되어있는 경우, 다음은 잘 작동합니다 :

    기본 카탈로그 ( "exampleDataBase은") ODBC에 구성되어있는 경우, 다음은 잘 작동합니다 :

    MYSQL ... msProcMatrix SELECT * FROM

  6. ==============================

    6.이 쿼리를 시도 할 수 있습니다.

    이 쿼리를 시도 할 수 있습니다.

    EXEC ( '[exampleDataBase] FROM SELECT *. msProcMatrix] ) AT MYSQL

  7. ==============================

    7.아래의 형식으로 문을 시도하십시오 .. 나를 위해 그것을 아주 잘 작동

    아래의 형식으로 문을 시도하십시오 .. 나를 위해 그것을 아주 잘 작동

    SELECT * 
    FROM   openquery
            (
            MYSQL, 
            '
             SELECT * 
             FROM [MYSQL]...[exampleDataBase].[msProcMatrix]
            '
            )
    

    이름에서 여분의 수준을 포함하면 문제를 해결할 수 있습니다.

  8. from https://stackoverflow.com/questions/16687999/select-from-linked-mysql-server by cc-by-sa and MIT license