На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! информация о разделе
user posted imageДанный раздел предназначается исключительно для обсуждения вопросов использования языка запросов SQL. Обсуждение общих вопросов, связанных с тематикой баз данных - обсуждаем в разделе "Базы данных: общие вопросы". Убедительная просьба - соблюдать "Правила форума" и не пренебрегать "Правильным оформлением своих тем". Прежде, чем создавать тему, имеет смысл заглянуть в раздел "Базы данных: FAQ", возможно там уже есть ответ.

Модераторы: Akina
  
> OPENROWSET , The OLE DB provider "Microsoft.Jet.4.0" has not been registered.
    ExpandedWrap disabled
      SELECT code,name,city,street,house,build,art,rest
        FROM OPENROWSET
        ('MSDASQL','Driver={Microsoft FoxPro VFP Driver (*.dbf)};
          SourceDB=E:\sun\;
          DefaultDir=E:\sun\;
          SourceType=DBF;
          Exclusive=No;
          BackgroundFetch=Yes;
          Collate=Russian;Null=No;
          Deleted=No;',
         'SELECT code,name,city,street,house,build,art,rest FROM Sun')

    И получаю
    Цитата

    OLE DB provider "MSDASQL" for linked server "(null)" returned message "[Microsoft][Диспетчер драйверов ODBC]
    Драйвер не поддерживает данной функции".
    Msg 7303, Level 16, State 1, Line 1
    Cannot initialize the data source object of OLE DB provider "MSDASQL" for linked server "(null)".

    Какой ф-ии?
      А драйвер установлен ?

      можно так:
      ExpandedWrap disabled
         
         SELECT code,name,city,street,house,build,art,rest
           FROM OPENROWSET('MSDASQL',
           'Driver={Microsoft dBase Driver (*.dbf)};
            BackgroundFetch=Yes;
            Exclusive=No;
            NULL=No;
            Collate=Russian;
            Deleted=No;',
            'select * from E:\sun\Sun.dbf')


      А проще через ДБлинк
      Сообщение отредактировано: RiZ -
        Цитата RiZ @
        А драйвер установлен ?

        Да.
        Цитата RiZ @
        А проще через ДБлинк

        Возможно. Но у меня поставщиков ,пока, около двух десятков и все со своими форматами.

        Добавлено
        Цитата RiZ @
        можно так:

        Цитата
        OLE DB provider "MSDASQL" for linked server "(null)" returned message "[Microsoft][Драйвер ODBC dBase] Слишком мало параметров. Требуется 1.".

        Msg 7320, Level 16, State 2, Line 1
        Cannot execute the query "select code,name,city,street,house,build,art,rest from E:\sun\Sun.dbf" against OLE DB provider "MSDASQL" for linked server "(null)".
          Опаньки, поле то не "art" а "apt". Заработало.
            Хотел расширить
            ExpandedWrap disabled
              DECLARE @T varchar(256),@pp varchar(256)
               
              SET @pp  = 'E:\SUN\'
              SET @T = '''select * from ' + @pp + 'Sun.dbf'''
              SELECT code,name,city,street,house,build,apt,rest
                FROM OPENROWSET(
                 'MSDASQL',
                 'Driver={Microsoft dBase Driver (*.dbf)};
                  BackgroundFetch=Yes;
                  Exclusive=No;
                  NULL=No;
                  Collate=Russian;
                  Deleted=No;',
                  @T)


            Msg 102, Level 15, State 1, Line 16
            Incorrect syntax near '@T'.

            Добавлено
            Если
            ExpandedWrap disabled
              .....
               NULL=No;
                  Collate=Russian;
                  Deleted=No;',
              'select * from ' + @pp + 'Sun.dbf'

            То пишет Incorrect syntax near '+'.
              низзя так!

              Добавлено
              Цитата
              OPENROWSET does not accept variables for its arguments.

              http://msdn.microsoft.com/en-us/library/aa276850(SQL.80).aspx
              Незнаю, правильно ли я понял бол на этот раз

              Добавлено
              воспользуйся такой конструкцией:
              Цитата
              set @a='SELECT * FROM OPENROWSET('.....
              exec sp_executesql @a
                Цитата Koss @
                OPENROWSET does not accept variables for its arguments.

                А слона я и не заметил. :rtfm:
                Спасибо.

                Добавлено
                Цитата Koss @
                exec sp_executesql @a

                запустил просто
                ExpandedWrap disabled
                  exec (@a)
                  о! Не знал, что так можно.
                  1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                  0 пользователей:


                  Рейтинг@Mail.ru
                  [ Script execution time: 0,0270 ]   [ 14 queries used ]   [ Generated: 19.05.24, 05:22 GMT ]