none
MSSQL 2008 Linked server MySQL MyODBC MSDASQL RRS feed

  • Вопрос

  • Проблема с выборкой из view которая создана из таблиц прилинкованного MySQL
    настройки отсюда
    только по одбц алиасу создан линкованный сервер, без connection string
    Имеется view

    Code Snippet
    CREATE VIEW [dbo].[LogMessageLgc]
    AS
    SELECT     primaryKey, FromNum, ToNum, Text, UDH, Operation, EncodingType, SMSCIP, CreationTime, ErrorCode, MessageID
    FROM         TESTDBRISEM...LogMessage AS LogMessage_1

     

     

    из такой таблички

    Code Snippet
    CREATE TABLE `logmessage` (
      `primaryKey` varchar(38) NOT NULL default '',
      `FromNum` varchar(50) default NULL,
      `ToNum` varchar(50) default NULL,
      `Text` varchar(4000) default NULL,
      `UDH` varchar(4000) default NULL,
      `Operation` varchar(50) default NULL,
      `EncodingType` varchar(50) default NULL,
      `SMSCIP` varchar(50) default NULL,
      `CreationTime` datetime default NULL,
      `ErrorCode` varchar(50) default NULL,
      `MessageID` varchar(50) default NULL,
      PRIMARY KEY  (`primaryKey`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1;

     

     

    Вот этот код:

    Code Snippet
    SELECT     primaryKey, FromNum, ToNum, Text, UDH, Operation, EncodingType, SMSCIP, CreationTime, ErrorCode, MessageID
    FROM         TESTDBRISEM...LogMessage AS LogMessage_1

     

     


    выполняется без ошибок

    А этот:

    Code Snippet
    SELECT  *
      FROM [Mobile].[dbo].[LogMessageLgc]

     

     

    Выдает

    Code Snippet
    Msg 7356, Level 16, State 1, Line 1
    The OLE DB provider "MSDASQL" for linked server "TESTDBRISEM" supplied inconsistent metadata for a column. The column "CreationTime" (compile-time ordinal 9) of object "LogMessage" was reported to have a "DBCOLUMNFLAGS_ISFIXEDLENGTH" of 16 at compile time and 16 at run time.

     

     


    До этого стоял 2005 mssql, я там тоже долго маялся с запуском линкованного мускуля, но в конце-концов добился сносной работы, тут переполз на 2008 и снова палки в колеса лезут... но при настройке на 2005 mssql я не припомню такую ошибку, т.к. результаты ее гугления я бы запомнил %)
    Пытался нагуглить ошибку - ничего кроме сервис пака на mssql 2000 не гуглится.
    Структура mysql таблиц не менялась, версия myodbc не менялась, скрипт создания линкованного сервера - тоже.
    Может я еще что забыл в настройках провайдера?
    Помогите побороть.

    16 января 2009 г. 6:43

Ответы

  • Все вдруг разрешилось очень странным образом.
    Зработало и опенквери и four-part names.
    Окно селекта в SQL Server Management Studio было привязано к другой базе (master вместо Mobile)
    При выборе в комбобоксе нужной базы все магическим образом заработало.
    Интересно почему... Ведь в селекте база Mobile указана...

    16 января 2009 г. 7:38