Устранение ошибки служб analysis services «ошибка ole db: ошибка ole db или odbc: операция отменена; hy008»

Введение

Тема нашего сегодняшнего разговора — ODBC. Если вы хоть раз писали СУБД (системы управления базами данных), то вам, наверное, знакома эта аббревиатура. Расшифровывается ODBC как Open DataBase Connectivity (вольный перевод — открытая система связи с базами данных). Open (открытая) в данном случае означает «расширяемая», «легко наращиваемая», «открытая для модификаций». Вы сами это поймете, если посмотрите на архитектуру построения ODBC:

Как легко заметить, она действительно легко наращиваемая. Для добавления нового типа БД нужно лишь написать драйвер и зарегистрировать его. Еще одно преимущество, вытекающее из такого построения ODBC — пользовательское приложение общается с физической БД через менеджер драйверов, фактически ничего не зная о типе используемой БД (общение менеджера драйверов и самих драйверов более менее стандартно, так что с точки зрения пользователя все источники данных обладают практически одинаковыми свойствами). Таким образом, вы легко можете поменять физический тип базы данных, а приложение даже не узнает об этом (конечно, существуют исключения из-за особенностей поддержки языка SQL различными типами БД, но они несущественны).

Физически ODBC представляет собой набор динамических библиотек DLL, которые обслуживают подключение и работу с конкретным типом базы данных.При запросе на подключение к определенной, заранее описанной базе «активизируется» определенная DLL — драйвер этого типа БД. Обращение к определенной базе данных происходит по имени так называемого источника данных ODBC (или DSN — data source name). Можно представить DSN как своего рода объявление БД на данном компьютере, причем DSN может быть пользовательским, т.е. находится в области видимости только одного польователя, в сеансе которого был создан этот DSN, и системным, т.е. видимым всеми пользователями данного компьютера.

Управление источниками данных ODBC (да и вообще настройкой всей системы ODBC) осуществляется с помощью специальной программы — ODBC-администратора. Давайте разберем, где его можно найти в различных версиях Windows:

— Windows 9х — сам исполняемый файл odbcad32.exe лежит в каталоге Windows\System. Запускать его можно напрямую либо через Панель управления (значок «Источники данных ODBC (32-бит)»). Если на компьютере установлен BDE, запустите администратор BDE и из меню Object выберите пункт ODBC Administrator.

— Windows 2000 — исполняемый файл odbcad32.exe лежит в каталоге WinNT\System32, а запускать его можно через Панель управления -> Администрирование -> Источники данных ODBC. К сожалению, у меня нет возможности проверить, как с ODBC в NT3.51 / 4 — не думаю, что там ребята из Microsoft сильно его спрятали.

ODBC

Поскольку все другие платформы баз данных имели интерфейсы ODBC, очевидно, что Microsoft пришлось предоставить один для SQL Server. В дополнение к этому DAO, исходная технология по умолчанию в Microsoft Access, использует ODBC в качестве стандартного способа взаимодействия со всеми внешними источниками данных. Это сделало интерфейс ODBC непременным условием. Драйвер ODBC версии 6 для SQL Server, выпущенный вместе с SQL Server 2000, все еще существует. Были выпущены обновленные версии для обработки новых типов данных, технологий подключения, шифрования, HA / DR и т. Д., Которые появились в последующих выпусках. По состоянию на 07.09.2018 самый последний выпуск — v13.1 «Драйвер ODBC для SQL Server», выпущенный 23.03.2018.

Проверка подключения с помощью поставщика SQL Server OLE DB

Поставщик Microsoft OLE DB для SQL Server (SQLOLEDB) является наиболее распространенным поставщиком. Она встроена в Windows и может подключаться к любой версии SQL Server, для которых не настроены привязки каналов TLS 1.2.

(MSOLEDBSQL) является последним поставщиком SQL Server OLE DB. Поставщик имеет все новые функции, такие как TLS 1.2, MultiSubnetFailover и параметры проверки подлинности Azure. Мы рекомендуем использовать этот поставщик для новых SQL Server баз данных.

Чтобы проверить подключение с помощью поставщика SQL Server OLE DB, выполните следующие действия.

  1. Откройте UDL-файл .

  2. Выберите вкладку «Поставщик», выберите поставщик SQL Server OLE DB, который используется в приложении, а затем нажмите кнопку «Далее».

  3. На вкладке » Подключение» укажите сетевой протокол, полное доменное имя (FQDN) и номер порта в поле «Выбор» или «Введите имя сервера». Например, .

    Примечание.

    Этот способ ввода имени сервера позволяет избежать некоторых распространенных проблем (например, проблем SQL Server браузера), которые могут помешать подключению.

  4. Введите другие свойства на вкладке «Соединение «.

    Примечание.

    Для большинства тестов подключения не требуется вводить имя базы данных.

  5. Выберите «Проверить подключение».

Вы также можете выбрать другие вкладки и просмотреть другие параметры драйвера. После завершения теста подключения нажмите кнопку » ОК», чтобы сохранить строку подключения в файл.

Три, ADO

ADO(ActiveX Data Object, активный объект данных)

Что касается ADO, ADO (ActiveXDataObjects) является компонентом COM, используемым для доступа к источникам данных. Он обеспечивает средний уровень языка программирования и унифицированный метод доступа к данным OLE DB. Разрешить разработчикам писать код для доступа к данным, не заботясь о том, как реализована база данных, а только о подключении к базе данных. При доступе к базе данных знание SQL не требуется, но команды SQL, поддерживаемые конкретной базой данных, все еще могут выполняться через объекты команд в ADO.

Говоря об ADO, это восходящая звезда. Фактически, до этого появились DAO и RDO,

DAO (Объект доступа к данным, объект доступа к данным) RDO (Удаленные объекты данных, удаленные объекты данных)

Но с появлением ADO он стал первым выбором для разработки приложений баз данных в операционных системах Windows NT 4.0 и Windows 2000. Он унифицирует объектную модель и меняет поставщика базы данных для разработки поставщика данных (эта модель заложена в настоящее время). С этого момента кажется, что он аналогичен функции ODBC, но построен на основе ODBC и OLEDB. Еще раз в капсуле. А сам ADO — это метод разработки, который не зависит от источника данных (независимо от источника данных), что позволяет быстро завоевать популярность разработчиков, использующих ASP и Visual Basic, плавно заменяя DAO и RDO и другие модели.

Описание на простом языке не может быть интуитивно понятным, пусть все увидят картинку.

Чтобы кратко объяснить всем, вверху — программа, которую мы написали, внизу — база данных, а в середине — основной контент сегодняшнего дня — технология доступа к базе данных. Во второй части мы видим, что ODBC находится внизу доступа к данным, OLEDB — следующим, а ADO — вверху. Наше приложение может получить доступ к базе данных тремя способами, а именно:

(1) Приложение-ODBC-база данных,

(2) Приложение-OLEDB-ODBC-база данных,

(3) База данных Application-ADO-OLEDB-ODBC.

Пока что отношения между ODBC, OLEDB и ADO должны быть ясными.

Методы устранения неполадок с подключением к серверу Oracle

Чтобы отладить проблемы с подключением Oracle к драйверу Microsoft ODBC для Oracle или поставщик OLE DB для Oracle (Майкрософт), выполните следующие действия.

  1. Используйте служебную программу Oracle SQL Plus (служебную программу запросов на основе командной строки), чтобы проверить, можно ли подключиться к Oracle и получить данные.

    Примечание.

    Если вы не можете подключиться к Oracle и получить данные, либо у вас неправильная установка или конфигурация клиентских компонентов Oracle, либо вы неправильно создали псевдоним службы TNS для сервера Oracle при использовании служебной программы SQL*Net Easy Configuration или Oracle Net8 Easy Configuration. Обратитесь к администратору базы данных Oracle, чтобы убедиться, что компоненты Oracle установлены и настроены правильно.

  2. Проверьте версию клиента Oracle (SQL*Net), установленную на компьютере. Для драйвера Microsoft ODBC для Oracle и поставщик OLE DB для Oracle (Майкрософт) требуется установка SQL*Net версии 2.3 или более поздней на клиентском компьютере.

    Подключение из SQL Plus (средство запроса клиента Oracle) может работать, но для правильной работы подключения ODBC/OLE DB необходимо перезапустить компьютер.

    Примечание.

    При использовании Oracle 8i RGS-файл пуст.

  3. Если клиент Oracle установлен и вы получаете сообщение об ошибке, указывающее, что на компьютере должны быть установлены клиентские компоненты Oracle 7.3 или более поздней версии, убедитесь, что переменная среды PATH на клиентском компьютере содержит папку, в которой был установлен клиент Oracle, например Oracle_Root\Bin. Если не удается найти эту папку, добавьте ее в переменную PATH, чтобы устранить ошибку.

  4. Убедитесь, что Ociw32.dll находится в папке Oracle_Root\bin . Этот .dll не может существовать в другом расположении на клиентском компьютере. Убедитесь, что библиотеки DLL клиентского компонента Oracle (например, файл Core40.dll и файл Ora*.dll) не существуют за пределами папки Oracle_Root или вложенных папок.

  5. Убедитесь, что на компьютере установлена одна версия клиента Oracle. Несколько версий SQL*Net не могут существовать на одном клиентском компьютере с помехами и критическими операциями (например, поиском TNS и псевдонима).

  6. Корпорация Майкрософт рекомендует установить локальный клиент Oracle, а не выполнять это путем сопоставления удаленного клиента Oracle на компьютере, а затем включить его в путь к системе для подключения к Oracle через ODBC/OLE DB. Но поставщик и драйвер тестируются с локально установленным клиентом Oracle, а не в сетевой папке.

OLE DB

Это собственная технология Microsoft, которую они активно продвигали примерно с 2002 по 2005 год вместе с сопутствующим ей уровнем ADO. Очевидно, они надеялись, что это станет предпочтительной технологией доступа к данным. (Они даже сделали ADO методом по умолчанию для доступа к данным в Access 2002/2003.) Однако со временем стало очевидно, что этого не произойдет по ряду причин, таких как:

  1. Мир не собирался переходить на технологии Microsoft и отказываться от ODBC;
  2. DAO / ODBC был быстрее, чем ADO / OLE DB, а также был полностью интегрирован в MS Access, поэтому не собирался умирать естественной смертью;
  3. Новые технологии, разрабатываемые Microsoft, в частности ADO.NET, также могут напрямую взаимодействовать с ODBC. ADO.NET также может напрямую взаимодействовать с OLE DB (таким образом, оставляя ADO в тени), но он (в отличие от ADO) не зависит исключительно от него.

По этим и другим причинам Microsoft фактически исключила OLE DB как технологию доступа к данным для версий SQL Server после v11 (SQL Server 2012). За пару лет до этого они производили и обновляли собственный клиент SQL Server, который поддерживал технологии ODBC и OLE DB. Однако в конце 2012 года они объявили, что будут согласовывать с ODBC для собственного доступа к реляционным данным в SQL Server, и призвали всех остальных сделать то же самое. Кроме того , они заявили , что выпуски SQL Server после v11 / SQL Server 2012 будет активно не поддерживает OLE DB!

Это заявление вызвало бурю протестов. Люди не могли понять, почему MS внезапно отказалась от технологии, на которую они потратили годы, заставляя их использовать. Кроме того, SSAS / SSRS и SSIS, которые были приложениями, написанными для MS, тесно связаны с SQL Server, полностью или частично зависели от OLE DB. Еще одна жалоба заключалась в том, что OLE DB обладал некоторыми желательными функциями, которые казалось невозможным перенести обратно на ODBC — в конце концов, у OLE DB было много хороших моментов.

В октябре 2017 года Microsoft отказалась от использования OLE DB и официально прекратила ее использование . Они объявили о скором появлении нового драйвера (MSOLEDBSQL), который будет иметь существующий набор функций Native Client 11, а также представит аварийное переключение нескольких подсетей и поддержку TLS 1.2. Драйвер был выпущен в марте 2018 года.

Длительный период обработки может привести к превышению времени ожидания

Если обработка запросов занимает более часа, могут быть способы настройки системы для более быстрой работы:

  • Настройте соединения, выполняемые службами Analysis Services при выполнении всех этих запросов обработки в фоновом режиме от вашего имени.
  • Секционирование групп измерений таким образом, чтобы единица работы, выполняемая путем обработки, была меньшей частью данных, а не всеми данными одновременно. Секционирование требует тщательной работы по проектированию кубов. Если данные содержат более 20 миллионов строк в таблице и вы видите проблемы с производительностью обработки, рассмотрите возможность секционирования.

Аннотация

В этой статье описывается, как настроить связанный сервер с компьютера, на котором выполняется Microsoft SQL Server, в базу данных Oracle и выполнить основные действия по устранению распространенных ошибок, которые могут возникнуть при настройке связанного сервера для Oracle. Большая часть сведений в этой статье относится к средам, настроенным для использования поставщика Microsoft OLEDB для Oracle (MSDAORA). Избегайте использования этой функции в новых разработках и планируйте изменение приложений, которые в настоящее время используют эту функцию. Вместо этого используйте поставщик Oracle OLE DB.

Дополнительные сведения о настройке связанного сервера с помощью поставщика OLEDB Oracle см. в статье «Как приступить к работе с Oracle и связанными серверами».

Важно!

Текущая версия Microsoft ODBC Driver for Oracle соответствует спецификации ODBC 2.5, а поставщик OLE DB для Oracle является собственным поставщиком API OCI Oracle 7. Драйвер и поставщик используют клиент SQL*Net (или клиент Net8 для Oracle 8x), библиотеку Интерфейса вызовов Oracle (OCI) и другие клиентские компоненты Oracle для подключения к базам данных Oracle и получения данных. Клиентские компоненты Oracle важны и должны быть правильно настроены для успешного подключения к базам данных Oracle с помощью драйвера и поставщика.

В компонентах microsoft Data Access (MDAC) версии 2.5 и более поздних версий драйвер Microsoft ODBC и поставщик OLE DB поддерживают только Oracle 7 и Oracle 8i со следующими ограничениями:

  • Типы данных Oracle 8.x, такие как CLOB, BLOB, BFILE, NCHAR, NCLOB и NVARCHAR2, не поддерживаются.

  • Функция Юникода для серверов Oracle 7.x и 8.x не поддерживается.

  • Несколько экземпляров клиента Oracle или несколько проектов Oracle не поддерживаются, так как они зависят от первого вхождения домашней папки Oracle в переменной SYSTEM PATH.

  • Возвращение нескольких наборов результатов из хранимой процедуры или пакетной инструкции SQL не поддерживается с помощью ADO или OLEDB.

  • Вложенные внешние соединения не поддерживаются.

  • Сохраняемость XML не поддерживается.

  • Версия больше 8i не поддерживается с помощью этих драйверов.

Примечание.

Сторонние продукты, которые обсуждаются в этой статье, производятся компаниями, независимыми от Microsoft. Корпорация Майкрософт не дает никаких явных, подразумеваемых и прочих гарантий относительно производительности или надежности этих продуктов.

Что такое OLEDB

OLEDB обозначает База данных связывания и встраивания объектов, Это API, который помогает получить доступ к данным из разных источников единообразным способом. Он основан на объектной модели компонентов (COM) и является частью стека компонентов доступа к данным Microsoft (MDAC). OLEDB является более продвинутым, чем ODBC, поскольку он способен получать доступ к данным из нереляционных баз данных, которые не используют SQL.

Более того, OLEDB отделяет источники данных от приложения

Это связано с тем, что для разных приложений требуются разные типы данных, и не важно знать, как получить к ним доступ всеми техническими методами.В OLEDB есть два основных раздела: потребитель и поставщик. Потребитель получает данные, в то время как поставщик предоставляет данные потребителям

Группировка подключений ODBC

Чтобы драйвер ODBC мог использовать группировку подключений, нужно настроить драйвер используемой базы данных и задать в реестре Windows значение для его свойства CPTimeout . Свойство CPTimeout определяет длительность интервала времени, в течение которого подключение остается в группе подключений. Если время нахождения подключения в группе начинает превышать значение, указанное в свойстве CPTimeout, то подключение закрывается и удаляется из группы. По умолчанию свойство CPTimeout имеет значение 60 секунд.

Можно настроить свойство CPTimeout для группировки подключений для драйвера определенной базы данных ODBC, создав следующий параметр реестра:

\HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\имя_драйвера\CPTimeout = длительность
 (тип REG_SZ, значения задаются в секундах)

Например, следующий параметр задает время ожидания 180 секунд (3 минуты) для драйвера SQL Server.

\HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\SQL Server\CPTimeout = 180

Примечание.   По умолчанию веб-сервер включает группировку подключений для SQL Server, устанавливая свойство CPTimeout в значение 60.

Четыре, ADO.NET

Наконец, хотя ADO.NET, ADO является относительно успешным продуктом, но архитектура самого ADO все еще несовершенна, особенно при разработке сетевых приложений, Recordset не может быть отключен, что серьезно влияет на разработку сетевых приложений. Поэтому в 1998 году Microsoft предложила план разработки приложений следующего поколения (Application Framework). Для меня большая честь, что ADO.NET включен в этот план, он вводит концепцию автономной модели данных и успешно решает проблемы, которые ADO не может. Многие считают ADO.NET следующей версией ADO, но на самом деле это совершенно новая архитектура и концепция продукта. Для конкретного введения ADO.NET, пожалуйста, обратитесь к подробным документам, связанным с ADO.NET

Создание строки подключения

Первый шаг по созданию веб-приложения с доступом к данным состоит в указании способа, с помощью которого интерфейс ADO находит и задает источник данных. Это выполняется с помощью строки подключения, — набора разделенных точкой с запятой аргументов, определяющих такие параметры, как поставщик данных и размещение источника данных. Интерфейс ADO использует строку подключения для задания поставщика OLE DB и направляет этого поставщика на источник данных. Поставщик данных является компонентом, который представляет источник данных, а также предоставляет сведения для приложения в форме наборов строк.

В следующей таблице приведены строки подключения OLE DB для нескольких общих источников данных:

Источник данных (Data Source) Строка подключения OLE DB
Microsoft Access Provider=Microsoft.Jet.OLEDB.4.0;Data Source=физический путь к файлу .mdb
Microsoft SQL Server Provider=SQLOLEDB.1;Data Source=путь к базе данных на сервере
Oracle Provider=MSDAORA.1;Data Source=путь к базе данных на сервере
Microsoft Indexing Service Provider=MSIDXS.1;Data Source=путь к файлу

Для обеспечения обратной совместимости поставщик данных OLE DB для ODBC поддерживает синтаксис строк подключения ODBC. В следующей таблице содержатся типичные строки подключения ODBC:

Драйвер источника данных (Data Source Driver) Строка подключения ODBC
Microsoft Access Driver={Microsoft Access Driver (*.mdb)};DBQ=физический путь к файлу .mdb
SQL Server DRIVER={SQL Server};SERVER=путь к серверу
Oracle DRIVER={Microsoft ODBC for Oracle};SERVER=путь к серверу
Microsoft Excel Driver={Microsoft Excel Driver (*.xls)};DBQ=физический путь к файлу .xls; DriverID=278
Microsoft Excel 97 Driver={Microsoft Excel Driver (*.xls)};DBQ=физический путь к файлу .xls;DriverID=790
Paradox Driver={Microsoft Paradox Driver (*.db)};DBQ=физический путь к файлу .db;DriverID=26
Текст Driver={Microsoft Text Driver (*.txt;*.csv)};DefaultDir=физический путь к файлу .txt
Microsoft Visual FoxPro (с контейнером баз данных) Driver={Microsoft Visual FoxPro Driver};SourceType=DBC;SourceDb=физический путь к файлу .dbc
Microsoft Visual FoxPro (без контейнера баз данных) Driver={Microsoft Visual FoxPro Driver};SourceType=DBC;SourceDb=физический путь к файлу .dbf

Примечание.   Для строк подключения, которые используют путь в формате UNC для ссылки на источник данных, расположенный на удаленном компьютере, могут возникнуть неполадки, связанные с безопасностью. Чтобы предотвратить несанкционированный доступ к вашему источнику данных, создайте учетную запись Windows для компьютеров, которым требуется доступ к этим данным, а затем примените соответствующие разрешения NTFS к источнику данных. Для получения дополнительных сведений см. раздел Защита файлов средствами NTFS.

Фон для команд и времени ожидания подключения

Всякий раз, когда команда, например запрос T-SQL в случае SQL Server, выдана источнику данных, свойство времени ожидания команды задается вызывающим объектом служб Analysis Services.

Если в предыдущем примере прошло 15 секунд и запрос еще не завершен, поставщик OLE DB отменяет запрос от имени вызывающего объекта. Вызывающий объект не должен хранить таймер, так как время ожидания задается на уровне поставщика. Но если запрос завершается сбоем, вызывающий объект действительно не знает, сколько времени потребовалось, и если это было время ожидания или нет.

В терминах OLE DB это свойство называется DBPROP_COMMANDTIMEOUT в объекте DBPROPSET_ROWSET . Это свойство позволяет выполнять запросы в течение определенного периода времени. Если команда не завершится, она отменена

В SQL Server в трассировке профилировщика можно увидеть такие тайм-ауты с событием «Внимание». В этой трассировке профилировщика длительность события точно соответствует продолжительности времени ожидания команды

Параметр времени ожидания команды не задается в соединении или самой строке подключения. Его необходимо задать после установки соединения, так как используется каждый объект команды. В объекте имеется аналогичное время ожидания подключения. В службах Analysis Services время ожидания подключения — это отдельное свойство ExternalConnectionTimeout. Этот параметр применим для первоначального контакта с сервером и проверки проверки подлинности и авторизации учетных записей. Этот параметр обычно не влияет на длительные запросы, так как начальное подключение было успешным без сбоя.

Вы можете управлять временем ожидания команды OLE DB в службах Analysis Services. В дополнительных параметрах экземпляра служб Analysis Services есть параметр ExternalCommandTimeout . Значение по умолчанию — 60 минут (один час).  Это значение времени ожидания может быть недостаточно длинным. Эта конфигурация по умолчанию позволяет любому запросу T-SQL к реляционной базе данных длиться один час или более. После этого команда отменяется поставщиком OLE DB, используемым для подключения к этой системе, и команда обработки служб Analysis Services завершается сбоем.

Целочисленное свойство ExternalCommandTimeout определяет время ожидания (в секундах) для команд, выданных внешним серверам, включая реляционные источники данных и внешние серверы служб Analysis Services.
Значение по умолчанию для этого свойства составляет 3600 секунд.

Если ожидается, что обработка запросов займет более одного часа, вы можете увеличить время ожидания, превышающее один час. В одном примере запросы на соединение обработки заняли около девяти часов для выполнения в базе данных размером 2 ТБ с некоторыми крупными сложными соединениями.

Щелкните правой кнопкой мыши имя сервера в Management Studio>Properties. Установите флажок «Показать дополнительные (все) свойства «. Затем настройте параметр ExternalCommandTimeout , как показано на следующих изображениях:

Теперь, когда сервер выполняет внешние запросы для связи с реляционной базой данных, он устанавливает время ожидания команды в указанное значение, чтобы он смог выполняться долгое время без сбоя.

Получение строки подключения с помощью приложения

Чтобы собрать и проверить строку подключения для своего драйвера ODBC на локальном компьютере, вы можете использовать приложение Администратор источников данных ODBC на панели управления. Создайте файловое имя DSN для подключения, а затем скопируйте параметры из этого имени, чтобы использовать их при сборке строки подключения. Это требует выполнения нескольких действий, но позволяет проверить работоспособность строки подключения.

  1. Найдите или выберите приложение Источники данных ODBC (64-разрядное) в меню «Пуск» или панели управления. Если у вас есть только 32-разрядный драйвер или вам нужен именно 32-разрядный драйвер, найдите вместо этого приложение ODBC Data Sources (32-bit) (Источники данных ODBC (32-разрядное)).

  2. Запустите приложение. Открывается окно Администратор источников данных ODBC.

  3. Перейдите на вкладку Файловый DSN приложения. Нажмите кнопку Добавить.

    В рамках этого примера создайте файловое, а не пользовательское или системное имя DSN, так как файловое имя DSN сохраняет пары имя-значение в определенном формате, который подходит для строки подключения.

  4. В диалоговом окне Создать новый источник данных выберите драйвер в списке и нажмите кнопку Далее. В этом примере будет создано имя DSN, которое содержит аргументы строки подключения, необходимые для подключения к Microsoft SQL Server.

  5. Выберите расположение и введите имя файла для нового файлового имени DSN, а затем нажмите кнопку Далее. Запомните, куда сохраняете файл, чтобы позднее вам было легче его найти.

  6. Просмотрите сводные данные и нажмите кнопку Готово.

  7. После нажатия кнопки Готово выбранный вами драйвер отображает один или несколько собственных экранов, чтобы собрать необходимые для подключения сведения. Обычно эти сведения включают в себя сервер, учетные данные и базу данных для источников на основе серверов и файл, формат и версию для источников, на основе файлов.

  8. После настройки источника данных нажмите кнопку Готово. После этого обычно отображаются сводные сведения о выбранных параметрах и предоставляется возможность протестировать их.

  9. Проверив источник данных и закрыв диалоговые окна, найдите файловое имя DSN там, куда вы его сохранили. Если вы не изменяли расширение файла, по умолчанию используется расширение DSN.

  10. Откройте этот файл в блокноте или другом текстовом редакторе. Ниже приведено содержимое нашего примера SQL Server.

  11. Скопируйте и вставьте необходимые значения в строку подключения, в которой пары имя-значение разделяются точкой с запятой.

    Собрав все необходимые значения из образца файлового имени DSN, вы получите следующую строку подключения.

    Если вы используете приложение «Администратор источников данных ODBC», переносить все эти параметры в имени DSN для создания работающей строки подключения обычно не требуется.

    • Всегда нужно указывать драйвер ODBC.
    • Для источника данных на основе сервера, такого как SQL Server, обычно требуются сведения о сервере, базе данных и сведения для входа. В данном примере значения TrustServerCertificate, WSID и APP вам не нужны.
    • Для источника данных на основе файла требуется по меньшей мере имя файла и расположение.
  12. Введите строку подключения в поле ConnectionString на странице Выбор источника данных или Выбор назначения мастера. Мастер анализирует строку, после чего можно двигаться дальше.

Table of contents

SSIS OLE DB Source: SQL Command vs Table or View
SSIS Expression Tasks vs Evaluating variables as expressions
SSIS OLE DB Destination vs SQL Server Destination
Execute SQL Task in SSIS: SqlStatementSource Expressions vs Variable Source Types
Execute SQL Task in SSIS: Output Parameters vs Result Sets
SSIS Derived Columns with Multiple Expressions vs Multiple Transformations
SSIS Data types: Change from the Advanced Editor vs Data Conversion Transformations
SSIS Connection Managers: OLE DB vs ODBC vs ADO.NET
SSIS Flat Files vs Raw Files
SSIS Foreach Loop vs For Loop Container
SSIS: Execute T-SQL Statement Task vs Execute SQL Task
SSIS Lookup transformation vs. Fuzzy Lookup transformation
SSIS Pivot transformations vs. Unpivot transformations
SSIS Merge Join vs. Merge Transformation
Data Access Modes in SSIS OLE DB Destination: SQL Command vs. Table or View
SSIS XML Source vs XML task
SSIS Script task vs. Script Component
SSIS term extraction vs. term lookup

Дополнительные вопросы разработки веб-приложений с доступом к данным

Чтобы при обслуживании веб-приложений, доступ к данным которых одновременно осуществляют более 10 пользователей, обеспечить высокое быстродействие и надежность работы, настоятельно рекомендуем использовать обработчик баз данных типа «клиент-сервер». Хотя интерфейс ADO работает с любым источником данных, совместимым со стандартом OLE DB, он был разработан и лучше всего проверен для работы с базами данных типа «клиент-сервер», такими как Microsoft SQL Server или Oracle.

Страницы ASP поддерживают в качестве допустимых источников данных базы данных с общими файлами (Microsoft Access или Microsoft FoxPro). Хотя некоторые примеры в документации ASP используют базу данных с общим файлом, желательно использовать обработчики таких типов баз данных только для средств разработки или для ограниченных сценариев развертывания. Базы данных с общими файлами могут хуже подходить для профессионально разработанных веб-приложений, которые должны обслуживать большое число запросов, по сравнению с базами данных типа «клиент-сервер».

При разработке ASP-приложения с доступом к базам данных, предназначенного для подключения к удаленной базе данных на SQL Server, следует иметь представление о приведенных ниже вопросах.

  • Выбор схемы подключения для SQL Server. Имеется возможность выбрать один из двух методов доступа к удаленной базе данных SQL Server: соединители TCP/IP и именованные каналы. Для именованных каналов проверка подлинности клиентов баз данных должна выполняться с помощью Windows перед установкой подключения. При этом имеется возможность, что удаленный компьютер, на котором запущены именованные каналы, откажет в доступе пользователю, имеющему необходимые учетные сведения для доступа к SQL Server, но не имеющему учетной записи пользователя Windows на данном компьютере. Напротив, подключения с помощью соединителей TCP/IP напрямую соединяются с сервером баз данных, без использования промежуточного компьютера, как при использовании именованных каналов. И поскольку подключения, выполненные с помощью соединителей TCP/IP соединяются напрямую с сервером баз данных, пользователи могут получить доступ через проверку подлинности SQL Server, а не через проверку подлинности Windows.
  • Ошибка ODBC 80004005. Если схема подключения для доступа к SQL Server задана неправильно, пользователи, просматривающие приложение с доступом к базам данных, могут получить сообщение об ошибке ODBC 80004005. Для исправления ситуации попробуйте использовать вместо сетевых подключений локальные подключения через именованный канал, если SQL Server запущен на том же компьютере, что и службы IIS. Правила безопасности Windows 2000 не будут использованы, поскольку канал является локальным, а не сетевым подключением, которое может олицетворяться с помощью учетной записи анонимного пользователя. Крое того, в строке подключения к SQL Server (либо в файле Global.asa, либо в сценарии страничного уровня) измените параметр SERVER=имя сервера на SERVER=(local). Ключевое слово (local) является специальным параметром, распознаваемым ODBC драйвером SQL Server. Если это решение не работает, попробуйте использовать протокол без проверки подлинности для связи между IIS и SQL Server, например соединители TCP/IP. Этот протокол будет работать при локальном запуске SQL Server или на удаленном компьютере.

Примечание.   Для увеличения быстродействия при подключении к удаленным базам данных воспользуйтесь соединителями TCP/IP.

Безопасность SQL Server. При использовании встроенных или смешанных средств безопасности SQL Server и при размещении базы данных SQL Server на удаленном сервере невозможно использование встроенной проверки подлинности Windows. Специфика заключается в том, что невозможно пересылать учетные сведения для встроенной проверки подлинности Windows на удаленный компьютер. Это означает, что может потребоваться использовать обычную проверку подлинности, при которой требуется ввод имени пользователя и пароля.

Для получения дополнительных сведений по этим вопросам посетите веб-узел Microsoft Product Support Services по адресу http://www.microsoft.com/support/.

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Работатека
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: