Поставщик данных для excel

При упоминании баз данных (БД) первым делом, конечно, в голову приходят всякие умные слова типа SQL, Oracle, 1С или хотя бы Access. Безусловно, это очень мощные (и недешевые в большинстве своем) программы, способные автоматизировать работу большой и сложной компании с кучей данных. Беда в том, что иногда такая мощь просто не нужна. Ваш бизнес может быть небольшим и с относительно несложными бизнес-процессами, но автоматизировать его тоже хочется. Причем именно для маленьких компаний это, зачастую, вопрос выживания.

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

  • хранить в таблицах информацию по товарам (прайс), совершенным сделкам и клиентам и связывать эти таблицы между собой
  • иметь удобные формы ввода данных (с выпадающими списками и т.п.)
  • автоматически заполнять этими данными какие-то печатные бланки (платежки, счета и т.д.)
  • выдавать необходимые вам отчеты для контроля всего бизнес-процесса с точки зрения руководителя

Со всем этим вполне может справиться Microsoft Excel, если приложить немного усилий. Давайте попробуем это реализовать.

Шаг 1. Исходные данные в виде таблиц

Информацию о товарах, продажах и клиентах будем хранить в трех таблицах (на одном листе или на разных — все равно). Принципиально важно, превратить их в «умные таблицы» с автоподстройкой размеров, чтобы не думать об этом в будущем. Это делается с помощью команды Форматировать как таблицу на вкладке Главная (Home — Format as Table). На появившейся затем вкладке Конструктор (Design) присвоим таблицам наглядные имена в поле Имя таблицы для последующего использования:

Присвоение имени "умной таблице"

Итого у нас должны получиться три «умных таблицы»:

Умные таблицы для хранения данных

Обратите внимание, что таблицы могут содержать дополнительные уточняющие данные. Так, например, наш Прайс содержит дополнительно информацию о категории (товарной группе, упаковке, весу и т.п.) каждого товара, а таблица Клиенты — город и регион (адрес, ИНН, банковские реквизиты и т.п.) каждого из них.

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

Шаг 2. Создаем форму для ввода данных

Само-собой, можно вводить данные о продажах непосредственно в зеленую таблицу Продажи, но это не всегда удобно и влечет за собой появление ошибок и опечаток из-за «человеческого фактора». Поэтому лучше будет на отдельном листе сделать специальную форму для ввода данных примерно такого вида:

Форма ввода

В ячейке B3 для получения обновляемой текущей даты-времени используем функцию ТДАТА (NOW). Если время не нужно, то вместо ТДАТА можно применить функцию СЕГОДНЯ (TODAY).

В ячейке B11 найдем цену выбранного товара в третьем столбце умной таблицы Прайс с помощью функции ВПР (VLOOKUP). Если раньше с ней не сталкивались, то сначала почитайте и посмотрите видео тут.

В ячейке B7 нам нужен выпадающий список с товарами из прайс-листа. Для этого можно использовать команду Данные — Проверка данных (Data — Validation), указать в качестве ограничения Список (List) и ввести затем в поле Источник (Source) ссылку на столбец Наименование из нашей умной таблицы Прайс:

Выпадающий список

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

=ДВССЫЛ(«Клиенты[Клиент]»)

Функция ДВССЫЛ (INDIRECT) нужна, в данном случае, потому что Excel, к сожалению, не понимает прямых ссылок на умные таблицы в поле Источник. Но та же ссылка «завернутая» в функцию ДВССЫЛ работает при этом «на ура» (подробнее об этом было в статье про создание выпадающих списков с наполнением).

Шаг 3. Добавляем макрос ввода продаж

После заполнения формы нужно введенные в нее данные добавить в конец таблицы Продажи. Сформируем при помощи простых ссылок строку для добавления прямо под формой:

Форма ввода данных со строкой для загрузки

Т.е. в ячейке A20 будет ссылка =B3, в ячейке B20 ссылка на =B7 и т.д.

Теперь добавим элементарный макрос в 2 строчки, который копирует созданную строку и добавляет ее к таблице Продажи. Для этого жмем сочетание Alt+F11 или кнопку Visual Basic на вкладке Разработчик (Developer). Если эту вкладку не видно, то включите ее сначала в настройках Файл — Параметры — Настройка ленты (File — Options — Customize Ribbon). В открывшемся окне редактора Visual Basic вставляем новый пустой модуль через меню Insert — Module и вводим туда код нашего макроса:

Sub Add_Sell()
    Worksheets("Форма ввода").Range("A20:E20").Copy                         'копируем строчку с данными из формы
    n = Worksheets("Продажи").Range("A100000").End(xlUp).Row                'определяем номер последней строки в табл. Продажи
    Worksheets("Продажи").Cells(n + 1, 1).PasteSpecial Paste:=xlPasteValues 'вставляем в следующую пустую строку
    Worksheets("Форма ввода").Range("B5,B7,B9").ClearContents               'очищаем форму
End Sub

Теперь можно добавить к нашей форме кнопку для запуска созданного макроса, используя выпадающий список Вставить на вкладке Разработчик (Developer — Insert — Button):

Добавление кнопки для запуска макроса

После того, как вы ее нарисуете, удерживая нажатой левую кнопку мыши, Excel сам спросит вас — какой именно макрос нужно на нее назначить — выбираем наш макрос Add_Sell. Текст на кнопке можно поменять, щелкнув по ней правой кнопкой мыши и выбрав команду Изменить текст.

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

Шаг 4. Связываем таблицы

Перед построением отчета свяжем наши таблицы между собой, чтобы потом можно было оперативно вычислять продажи по регионам, клиентам или категориям. В старых версиях Excel для этого потребовалось бы использовать несколько функций ВПР (VLOOKUP) для подстановки цен, категорий, клиентов, городов и т.д. в таблицу Продажи. Это требует времени и сил от нас, а также «кушает» немало ресурсов Excel. Начиная с Excel 2013 все можно реализовать существенно проще, просто настроив связи между таблицами.

Для этого на вкладке Данные (Data) нажмите кнопку Отношения (Relations). В появившемся окне нажмите кнопку Создать (New) и выберите из выпадающих списков таблицы и названия столбцов, по которым они должны быть связаны:

Настройка связей между таблицами

Важный момент: таблицы нужно задавать именно в таком порядке, т.е. связанная таблица (Прайс) не должна содержать в ключевом столбце (Наименование) повторяющихся товаров, как это происходит в таблице Продажи. Другими словами, связанная таблица должна быть той, в которой вы искали бы данные с помощью ВПР, если бы ее использовали.

Само-собой, аналогичным образом связываются и таблица Продажи с таблицей Клиенты по общему столбцу Клиент:

Связывание таблиц

После настройки связей окно управления связями можно закрыть, повторять эту процедуру уже не придется.

Шаг 5. Строим отчеты с помощью сводной

Теперь для анализа продаж и отслеживания динамики процесса, сформируем для примера какой-нибудь отчет с помощью сводной таблицы. Установите активную ячейку в таблицу Продажи и выберите на ленте вкладку Вставка — Сводная таблица (Insert — Pivot Table). В открывшемся окне Excel спросит нас про источник данных (т.е. таблицу Продажи) и место для выгрузки отчета (лучше на новый лист):

Создание сводной таблицы

Жизненно важный момент состоит в том, что нужно обязательно включить флажок Добавить эти данные в модель данных (Add data to Data Model) в нижней части окна, чтобы Excel понял, что мы хотим строить отчет не только по текущей таблице, но и задействовать все связи.

После нажатия на ОК в правой половине окна появится панель Поля сводной таблицы, где нужно щелкнуть по ссылке Все, чтобы увидеть не только текущую, а сразу все «умные таблицы», которые есть в книге.А затем можно, как и в классической сводной таблице, просто перетащить мышью нужные нам поля из любых связанных таблиц в области Фильтра, Строк, Столбцов или Значений — и Excel моментально построит любой нужный нам отчет на листе:

Отчет сводной таблицы

Не забудьте, что сводную таблицу нужно периодически (при изменении исходных данных) обновлять, щелкнув по ней правой кнопкой мыши и выбрав команду Обновить (Refresh), т.к. автоматически она этого делать не умеет.

Также, выделив любую ячейку в сводной и нажав кнопку Сводная диаграмма (Pivot Chart) на вкладке Анализ (Analysis) или Параметры (Options) можно быстро визуализировать посчитанные в ней результаты.

Шаг 6. Заполняем печатные формы

Еще одной типовой задачей любой БД является автоматическое заполнение различных печатных бланков и форм (накладные, счета, акты и т.п.). Про один из способов это сделать, я уже как-то писал. Здесь же реализуем, для примера, заполнение формы по номеру счета:

Печатная форма счета

Предполагается, что в ячейку C2 пользователь будет вводить число (номер строки в таблице Продажи, по сути), а затем нужные нам данные подтягиваются с помощью уже знакомой функции ВПР (VLOOKUP) и функции ИНДЕКС (INDEX).

Ссылки по теме

  • Как использовать функцию ВПР (VLOOKUP) для поиска и подстановки значений
  • Как заменить ВПР функциями ИНДЕКС и ПОИСКПОЗ
  • Автоматическое заполнение форм и бланков данными из таблицы
  • Создание отчетов с помощью сводных таблиц

Бывают ситуации, когда на рабочей станции отсутствуют такие средства взаимодействия с БД как: MS SQL Server Management Studio, Aquafold Aqua Data Studio, DBeaver и т.п., а вероятность их установки в краткосрочной перспективе близка к нолю. В то же время, присутствует острая необходимость подключения к этой самой БД и работы с данными. Как оказалось, на помощь может прийти старый добрый MS Excel.

В моем случае требовалось подключиться к MS SQL Server, однако, MS Excel умеет устанавливать соединение не только с ним, но и с большинством современных БД: MySQL, PostgreeSQL, IBM DB2 и даже Oracle и Teradata, а также с файлами данных CSV, XML, JSON, XLS(X), MDB и другими.

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

В новой книге на ленте выбираем «(1) Данные» -> «(2) Получение внешних данных» -> «(3) Из других источников» -> «(4) С сервера SQL Server».

Далее, в окне Мастера подключения к данным, заполняем «(1) Имя сервера» -> «(2) Учетные сведения»[ -> «(3) Имя пользователя» и «Пароль»]. Таким образом, мы сообщаем MS Excel, с каким сервером мы хотим установить соединение и какой метод аутентификации хотим использовать. Я использовал «проверку подлинности Windows», но возможно также указать учетные данные отличные от установленных в Windows.

Выбираем целевую «(1) Базу данных» -> «(2)(3) Определенную таблицу» или «Несколько таблиц» или же базу в целом (тогда оба «чекбокса» оставляем пустыми).

После всех проделанных манипуляций, Мастер подключения предложит сохранить файл подключения. Потребуется задать «(1) Имя файла». Желательно также указать «(2) Описание» и «(3) Понятное имя файла», чтобы спустя время было понятно какой файл подключения к какой базе или таблице обращается.

Теперь выбрать созданное подключение можно будет следующим образом: «(1) Данные» -> «(2) Получение внешних данных» -> «(3) Существующие подключения».

Открыв только что созданное подключение, в случае если вы соединялись с базой в целом, MS Excel опять предложит выбрать одну или несколько конкретных таблиц:

Определив таблицы, MS Excel предложит выбрать «(1) Способ представления данных» и «(2) Куда следует поместить данные». Для простоты я выбрал табличное представление и размещение на уже имеющемся листе, чтобы не плодить новые. Далее следует нажать на «(3) Свойства».

В свойствах подключения, нужно перейти на вкладку «(1) Определение». Здесь можно выбрать «(2) Тип команды». Даже если требуется выгружать лишь одну таблицу без каких-либо связей, настоятельно рекомендую выбрать SQL команду, чтобы иметь возможность ограничить размер выгружаемой таблицы (например, с помощью TOP(n)). Так, если вы попытаетесь выгрузить целиком таблицу базы, это может привести в лучшем случае к замедлению работы MS Excel, а в худшем к падению программы, к тому же – это необоснованная нагрузка на сам сервер базы данных и на сеть. После того как «(3) Текст команды» будет введен и нажата кнопка «ОК», MS Excel предложит сохранить изменения запроса – отвечаем положительно.

В итоге получаем данные прямо из базы, что и требовалось.

Теперь наше подключение будет находиться в книге и доступно в меню «(1) Данные» -> «(2) Подключения».

Как видно из кнопок формы, здесь мы можем:

«(1) Добавить» в книгу новое подключение из уже существующих;

«(2) Удалить» подключение из книги;

Отредактировать «(3) Свойства» подключения;

«(4) Обновить» данные, предоставляемые подключением.

Подытоживая весь вышеописанный опыт, хочется сказать, что конечно же по функционалу и кругу решаемых задач MS Excel не сравнится с такими системами как MS SQL Server Management Studio, Oracle SQL Developer и подобными. Но, в условиях ограниченного времени и доступных инструментов, при необходимости быстро получить доступ к данным из базы, MS Excel вполне справляется.

Подключение к базе данных Oracle (Power Query)

Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке) .

С помощью Excel Get & преобразования качества (Power Query) для подключения к базе данных Oracle.

Примечание: Прежде чем вы можете подключиться к базе данных Oracle с помощью Power Query, вам необходимо v8.1.7 программного обеспечения клиента Oracle или больше на вашем компьютере. Чтобы установить клиентское программное обеспечение Oracle, перейдите к Access компоненты данных (ODAC) 32-разрядная Oracle с помощью инструментов разработчика Oracle для Visual Studio (12.1.0.2.4) установить 32-разрядного клиента Oracle или ODAC 64-разрядной версии 4 (12.1.0.2.4) Xcopy для Windows x64 12 cустановить 64-разрядную клиента Oracle.

Щелкните на вкладке » данные » выберите Получение данных > Из базы данных > Из базы данных Oracle. Если кнопка Получить данные не отображается, нажмите кнопку Новый запрос > Из базы данных > Из базы данных Oracle.

На вкладке ленты Power Query щелкните Из базы данных > Из базы данных Oracle.

В диалоговом окне База данных Oracle в поле Имя сервера укажите сервер Oracle, к которому нужно подключиться. Если требуется ИД безопасности, его можно указать в формате «Имя_сервера/ИД_безопасности».

Если данные нужно импортировать с использованием запроса на языке базы данных, укажите его в поле Инструкция SQL. Дополнительные сведения см. в статье Импорт данных из базы данных с помощью запроса на ее языке.

Нажмите кнопку ОК.

Если для сервера Oracle требуются учетные данные пользователя базы данных:

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

Нажмите кнопку Подключиться.

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community, попросить помощи в сообществе Answers community, а также предложить новую функцию или улучшение на веб-сайте Excel User Voice.

MyKnowledgeShare

Infinite Experience Flow

Использование поставщика данных Oracle в Excel Calculation Services

Большинство информации о настройке Excel Calculation Services уже присутствует в интернете, даже на официальных ресурсах:

Однако существует ряд моментов, касаемых использования поставщика данных Oracle, которые не являются очевидными и вызывают вопросы при настройке. Целью данной статьи является освещение вопросов, возникающих при настройке и использовании поставщика данных Oracle.

Существует как минимум три возможных поставщика данных Oracle:

  • Поставщик Microsoft OLE DB для Oracle (MSDAORA)
  • Поставщик Oracle для OLE DB (OraOLEDB)
  • Драйвер Oracle ODBC для Oracle 9.2 (Oracle in OraHome92)

При этом первый, как ясно из названия от Microsoft, два других от Oracle. Microsoft четко дает понять, что их поставщик данных Oracle является устаревшим (deprecated) и не должен использоваться, поскольку использует Oracle Call Interface (OCI) версии 7, что больше не поддерживается Oracle. Более того, Microsoft OLE DB для Oracle является 32-битным и не может быть использован в SharePoint 2010 в виду архитектурных ограничений. Драйвер Oracle ODBC для Oracle 9.2 также не рекомендуется использовать, поскольку его производительность окажется ниже из-за наличия дополнительного слоя доступа к ODBC через ADO. Таким образом, наиболее предпочтительным вариантом из рассматриваемых является Поставщик Oracle для OLE DB.

Для установки и настройки Поставщика Oracle для OLE DB необходимо выполнить следующие шаги:

  1. Загрузить 64-х битную версию Oracle Data Access Components (ODAC)
  2. Установить ODAC в соответствии с приложенными инструкциями по установке
  3. Добавить в переменную окружения PATH пути к домашней папке установки ODAC и к папке bin установки ODAC (например: C:oracle и C:oraclebin)

Для настройки Excel Calculation Services следует убедиться, что Поставщик Oracle для OLE DB присутствует в списке надежных поставщиков данных. Для этого следует перейти в Центр администрирования -> Управление приложениями-службами -> Приложение Служб Excel (название зависит от конфигурации фермы) -> Надежные поставщики данных:

Поскольку Oracle Client использует для своей работы переменные окружения, следует также активировать столь непопулярную настройку для пула приложений IIS, как «Загрузить профиль пользователя». Для этого на веб-сервере SharePoint, на котором размещено Приложение служб Excel следует зайти в Диспетчер служб IIS, найти пул приложений, котором выполняется Приложение служб Excel и, выбрав Дополнительные настройки, установить значение «Загрузить профиль пользователя» в True:

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

Если вышеописанные настройки произведены верно, поставщик данных Oracle готов к работе с Excel Calculation Service.

Для корректного проведения авторизации на сервере баз данных Oracle также необходимо настроить Службу безопасного хранения (Secure Store Service). Существует два варианта хранения учетных данных для подключения к источнику данных Oracle: непосредственно в книге Excel (embedded) и в Службе безопасного хранения. Хоть это и не кажется очевидным, настраивать SSS необходимо в обоих случаях, поскольку для Excel Calculation Services в обоих случаях необходима учетная запись, от имени которой на сервере будут выполняться запросы к источнику данных Oracle. Эта учетная запись называется учетной записью автоматической службы (Unattended service account). Таким образом, следует сначала настроить Excel Calculation Service на использование учетной записи автоматической службы, а затем, при необходимости, также настроить конечное приложение SSS для авторизации в Oracle. Подробные инструкции о выполнении настройки для SQL авторизации приведены в статье TechNet, настройка для источника данных Oracle производится аналогично. При этом предпочтительнее использование SSS для хранения учетных данных Oracle, поскольку в случае указания учетных данных в строке подключения книги Excel, они хранятся в незашифрованном виде.

Также следует отметить возможность использования файлов подключения к данным (.ODC) для удобства организации и управления способами получения данных службами Excel. Подробно об этом в статье на TechNet.

ORA-01019 подключение к Oracle из Excel

Я установил Oracle 10g Express Edition. При попытке проверить соединение я получаю сообщение об ошибке «Ошибка при попытке получить текст для ошибки ORA-01019».

У меня недавно произошла следующая ошибка.

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

кто-то изменил / обновил компоненты на коробке.

«ORA-01019 не удалось выделить память на стороне пользователя

Причина. Распределитель памяти на стороне пользователя возвратил ошибку.

Действие: Увеличьте размер кучи процесса или переключитесь на старый набор вызовов.»

Продолжение из комментариев:

Не могли бы вы попробовать этот код?

закрыть конец соединения

(Это не помещалось в поле для комментариев)

Вам нужен как минимум один водитель. Драйвер оракула лучше, но Microsoft Driver тоже будет работать.

Давайте сначала попробуем создать строку подключения. Щелкните правой кнопкой мыши на рабочем столе и создайте новый файл.txt. Теперь переименуйте ваш текстовый файл в нечто.udl Дважды щелкните файл udl. Перейдите к «Поставщику» и выберите Microsoft OLEDB Provider для Oracle. Затем нажмите на следующий. В поле имени сервера вы вводите свое имя TNS. Затем введите имя пользователя и пароль и вставьте V в поле «Разрешить сохранение пароля» (оно нам понадобится). Нажмите на тестовое соединение. Убедитесь, что это работает.

Если это работает, нажмите ОК. Теперь откройте файл UDL с помощью текстового редактора. Вы увидите нечто похожее на:

Скопируйте эту часть в строку подключения:

Теперь ваша строка подключения должна выглядеть так:

Short version:

Your excel is 32bit and you try to use the 32bit Oracle. I assume you launch the 64bit version of «ODBC Administrator» — there might be the mismatch. Or you have a problem in your PATH regarding %ORACLE_HOME% and/or %ORACLE_HOME%bin folder

Long version:

Your Excel is 32bit, so in general you did the right approach by putting the 32bit Client into PATH and for ORACLE_HOME , you cannot mix 32bit and 64bit assemblies in one process. Btw, when you follow the instructions above your Windows will manage this automatically.

I assume you installed the Oracle Instant Client. The default Instant Client does not include neither any ODBC driver nor Oracle Data Provider (ODP.NET, Oracle.DataAccess.Client )

You may have 2 ODBC drivers, one from Oracle typically called like Oracle in OraClient12_home1 and one from Microsoft called Microsoft ODBC for Oracle (which should be installed by default Windows installation, however it also requires an Oracle Client).

The ODBC driver from Oracle is available for 32bit and 64bit, the Microsoft driver exits only for 32bit. You have 2 ODBC Administrators, 32bit (run c:WindowsSysWOW64odbcad32.exe ) and 64bit (run c:WindowsSystem32odbcad32.exe ). There you should see installed drivers for 32 resp. 64bit.

Oracle Data Provider

For the Data Provider you have similar situation. You have one from Microsoft (Microsoft .NET Framework Data Provider for Oracle, System.Data.OracleClient ) and from Oracle (Oracle Data Provider for .NET, Oracle.DataAccess.Client , several versions). Both are available for 32bit and 64bit.

In principle it does not matter which driver/provider you use to connect to Oracle — just the architecture (i.e. 32 vs. 64 bit) has to match. Each driver/provider requires according Oracle Client installation. All drivers/providers from Microsoft have been deprecated, you should prefer the Oracle ones (as stated in the warning message)

Oracle provides also the ODP.NET, Managed Driver which does not require any further Oracle Client installation and runs on both, 32bit and 64bit. However, I don’t know whether you can use this in Excel.

Last but not least, you also have OLE DB provider. Again one from Microsoft (Microsoft OLE DB Provider for Oracle) and one from Oracle (Oracle Provider for OLE DB). The Microsoft provider exist only for 32bit and has been deprecated.

Подключение к базе данных Oracle с помощью Excel

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

Я в настоящее время как 32-разрядные и 64-разрядные Oracle 12c установлены в разных ORACLE_HOME с и имеют 32-разрядную установку Excel на моем 64-разрядном компьютере.

Я пытаюсь подключиться к базе данных Oracle в Excel с использованием нового запроса мастера.

Когда я щелкаю из базы данных Oracle Я получаю следующее сообщение об ошибке / сообщении.

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

То , что я не понимаю, почему я получаю эту ошибку , когда у меня есть и 32-разрядные и 64-разрядные версии Oracle 12c , установленная на моем компьютере. Оба включены в моем PATH переменном (32-битном первый), и я также включал конкретные ORACLE_HOME и TNS_ADMIN указать на мою 32-битной установку , так как мой Excel является 32-битным.

Я очень хочу, возможность запроса из базы данных с помощью Excel, но эта проблема путает меня к смерти.

РЕДАКТИРОВАТЬ

Я также только что добавил драйвера ODBC от моей Oracle Home’S в исходном инструмент администратора ODBC Data.

Это в настоящее время в состоянии соединиться с помощью этого инструмента.

Но когда я пытаюсь подключиться к идти через ODBC Connection мастер, я знаю , получаю это:

Как установить 32bit и 64bit Oracle Client?

Укороченная версия:

Ваш первенствует является 32bit , и вы пытаетесь использовать 32bit Oracle. Я предполагаю , что вы запускаете 64 — битную версию «ODBC Administrator» — там может быть несоответствие. Или у вас есть проблемы в вашем PATH отношении %ORACLE_HOME% и / или %ORACLE_HOME%bin папки

Длинная версия:

Ваш Excel является 32 — битной, так и в целом вы сделали правильный подход, поставив 32 — битный клиент в PATH и ORACLE_HOME , вы не можете смешивать 32bit и 64bit сборки в одном процессе. Кстати, если вы будете следовать инструкциям выше вашего Windows , будет управлять автоматически.

Я предполагаю , что вы установили Oracle Instant Client. Instant Client по умолчанию не включает ни какой — либо драйвер ODBC , ни поставщика Oracle Data (ODP.NET, Oracle.DataAccess.Client )

Вы можете иметь 2 драйвера ODBC, один из Oracle обычно называемый как Oracle в OraClient12_home1 и один из Microsoft под названием ODBC Microsoft для Oracle (который должен быть установлен путем установки Windows , по умолчанию, однако он также требует клиента Oracle).

Драйвер ODBC от Oracle доступна для 32 — битных и 64 — битных, драйвер Microsoft выйдет только для 32 — битных. У вас есть 2 ODBC Администраторы, 32bit (бег c:WindowsSysWOW64odbcad32.exe ) и 64 — битный (бег c:WindowsSystem32odbcad32.exe ). Там вы должны увидеть установленные драйверы для 32 соответственно. 64 — битная.

Поставщик данных Oracle

Для поставщика данных у вас есть подобная ситуация. У вас есть один из Microsoft ( поставщик Microsoft .NET Framework данных для Oracle , System.Data.OracleClient ) и от Oracle ( Provider Oracle Data для .NET , Oracle.DataAccess.Client , несколько версий). Оба доступны для 32 — битной и 64 — битной.

В принципе, это не имеет значения, какой драйвер / поставщик используется для подключения к Oracle — только архитектуре (т.е. 32 против 64 бит) должны соответствовать. Каждый водитель / поставщик требует установки Oracle соотв клиента. Все водители / провайдеры от Microsoft устарели, вы должны предпочитать те Oracle (как указано в сообщении предупреждения)

Oracle предоставляет также ODP.NET, управляемый драйвер , который не требует какой — либо дальнейшей установки Oracle Client и работает на оба, 32 — битном и 64 — битном. Тем не менее, я не знаю , можно ли использовать это в Excel.

И последнее , но не в последнюю очередь, вы также поставщика OLE DB. Опять один из Microsoft ( Microsoft OLE DB Provider для Oracle ) и один из Oracle ( Oracle Provider для OLE DB ). Поставщик Microsoft существует только для 32 — битных и устаревшим.

Базы данных (БД) — набор упорядоченной информации, которая хранится в одном месте. Их создают, чтобы быстро находить, систематизировать и редактировать нужные данные, а при необходимости собирать их в отчёт или показывать в виде диаграммы.

Специализированных программ для формирования и ведения баз данных много. В том же MS Office для этого есть отдельное приложение — Microsoft Access. Но и в Excel достаточно возможностей для создания простых баз и удобного управления ими. Есть ограничение — количество строк базы данных в Excel не должно быть больше одного миллиона.

В статье разберёмся:

  • как выглядит база данных в Excel;
  • как её создать и настроить;
  • как работать с готовой базой данных в Excel — фильтровать, сортировать и искать записи.

База данных в Excel — таблица с информацией. Она состоит из однотипных строк — записей базы данных. Записи распределены по столбцам — полям базы данных.

Пример базы данных по продажам автомобилей в Excel
Скриншот: Excel / Skillbox Media

Названия полей — шапка таблицы — определяют структуру базы данных. Они показывают, какую информацию содержит база. В примере выше это имя менеджера автосалона, дата продажи, модель и характеристики автомобиля, который он продал.

Каждая запись — строка таблицы — относится к одному объекту базы данных и содержит информацию о нём. В нашем примере записи характеризуют продажи, совершённые менеджерами автосалона.

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

Если в базе данных есть промежуточные пустые строки, ей нельзя управлять как единым объектом
Скриншот: Excel / Skillbox Media

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


Создаём структуру базы данных

Выше мы определили, что структуру базы данных определяют названия полей (шапка таблицы).

Задача для нашего примера — создать базу данных, в которой будут храниться все данные о продажах автомобилей менеджерами автосалона. Каждая запись базы — одна продажа, поэтому названия полей БД будут такими:

  • «Менеджер»;
  • «Дата продажи»;
  • «Марка, модель»;
  • «Цвет»;
  • «Год выпуска»;
  • «Объём двигателя, л»;
  • «Цена, руб.».

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

Вводим названия полей базы данных и форматируем их
Скриншот: Excel / Skillbox Media

Создаём записи базы данных

В нашем примере запись базы данных — одна продажа. Перенесём в таблицу всю имеющуюся информацию о продажах.

При заполнении ячеек с записями важно придерживаться одного стиля написания. Например, Ф. И. О. менеджеров во всех строках вводить в виде «Иванов И. И.». Если где-то написать «Иван Иванов», то дальше в работе с БД будут возникать ошибки.

Переносим в базу данных информацию о продажах
Скриншот: Excel / Skillbox Media

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

В нашем примере данные в столбцах A, C и D должны быть в текстовом формате. Данные столбца B должны быть в формате даты — его Excel определил и присвоил автоматически. Данные столбцов E, F — в числовом формате, столбца G — в финансовом.

Чтобы изменить формат ячейки, выделим нужный столбец, кликнем правой кнопкой мыши и выберем «Формат ячеек».

Меняем формат ячеек
Скриншот: Excel / Skillbox Media

В появившемся меню выберем нужный формат и настроим его. В нашем примере для ячейки «Цена, руб.» выберем финансовый формат, уберём десятичные знаки (знаки после запятой) и выключим отображение символа ₽.

Настраиваем формат ячеек
Скриншот: Excel / Skillbox Media

Также изменить формат можно на панели вкладки «Главная».

Изменить формат можно с помощью главной панели Excel
Скриншот: Excel / Skillbox Media

Присваиваем базе данных имя

Для этого выделим все поля и записи базы данных, включая шапку. Нажмём правой кнопкой мыши и выберем «Имя диапазона».

Создаём название базы данных
Скриншот: Excel / Skillbox Media

В появившемся окне вводим имя базы данных без пробелов.

Вводим имя базы данных
Скриншот: Excel / Skillbox Media

Готово — мы внесли в базу данных информацию о продажах и отформатировали её. В следующем разделе разберёмся, как с ней работать.

База данных в Excel
Скриншот: Excel / Skillbox Media

Сейчас в созданной базе данных все записи расположены хаотично — не упорядочены ни по датам, ни по фамилиям менеджеров. Разберёмся, как привести БД в более удобный для работы вид. Все необходимые для этого функции расположены на вкладке «Данные».

На вкладке «Данные» расположены все необходимые инструменты для работы с БД в Excel
Скриншот: Excel / Skillbox Media

Для начала добавим фильтры. Это инструмент, с помощью которого из большого объёма информации выбирают и показывают только нужную в данный момент.

Подробнее о фильтрах в Excel говорили в этой статье Skillbox Media.

Выберем любую ячейку из базы данных и на вкладке «Данные» нажмём кнопку «Фильтры».

Устанавливаем фильтрацию в БД
Скриншот: Excel / Skillbox Media

В каждой ячейке шапки таблицы появились кнопки со стрелками.

Предположим, нужно показать только сделки менеджера Тригубова М. — нажмём на стрелку поля «Менеджер» и оставим галочку только напротив него. Затем нажмём «Применить фильтр».

Выбираем менеджера, данные о сделках которого нужно показать
Скриншот: Excel / Skillbox Media

Готово — в базе отражены данные о продажах только одного менеджера. На кнопке со стрелкой появился дополнительный значок. Он означает, что в этом столбце настроена фильтрация. Чтобы её снять, нужно нажать на этот дополнительный значок и выбрать «Очистить фильтр».

Результат фильтрации — в БД показаны продажи только одного менеджера
Скриншот: Excel / Skillbox Media

Записи БД можно фильтровать по нескольким параметрам одновременно. Для примера покажем среди продаж Тригубова М. только автомобили дешевле 2 млн рублей.

Для этого в уже отфильтрованной таблице откроем меню фильтра для столбца «Цена, руб.» и нажмём на параметр «Выберите». В появившемся меню выберем параметр «Меньше».

Фильтруем БД по второму критерию — авто дешевле 2 млн рублей
Скриншот: Excel / Skillbox Media

Затем в появившемся окне дополним условие фильтрации — в нашем случае «Меньше 2000000» — и нажмём «Применить фильтр».

Дополняем условие фильтрации
Скриншот: Excel / Skillbox Media

Готово — фильтрация сработала по двум параметрам. Теперь БД показывает только те проданные менеджером авто, цена которых ниже 2 млн рублей.

Результат фильтрации по двум параметрам
Скриншот: Excel / Skillbox Media

Кроме этого, в Excel можно установить расширенный фильтр. Он позволяет фильтровать БД по сложным критериям сразу в нескольких столбцах. Подробно о том, как настроить расширенный фильтр, говорили в статье.

Сортировка — инструмент, с помощью которого данные в БД организовывают в необходимом порядке. Их можно сортировать по алфавиту, по возрастанию и убыванию чисел, по дате.

Для примера отсортируем сделки выбранного менеджера в хронологическом порядке — по датам. Для этого выделим любую ячейку в поле «Дата продажи» и нажмём кнопку «Сортировка».

Делаем сортировку по дате в БД
Скриншот: Excel / Skillbox Media

В появившемся окне выберем параметр сортировки «От старых к новым» и нажмём «ОК».

Настраиваем сортировку БД
Скриншот: Excel / Skillbox Media

Готово — теперь все сделки менеджера даны в хронологическом порядке.

Результат сортировки по датам продаж
Скриншот: Excel / Skillbox Media

То же самое можно сделать другим способом — выбрать любую ячейку столбца, который нужно отсортировать, и нажать на одну из двух кнопок рядом с кнопкой «Сортировка»: «Сортировка от старых к новым» или «Сортировка от новых к старым». В этом случае данные отсортируются без вызова дополнительных окон.

Другой способ сортировки по дате в БД
Скриншот: Excel / Skillbox Media

Кроме стандартной сортировки в Excel, можно настроить сортировку по критериям, выбранным пользователем. Эта функция полезна, когда нужные критерии не предусмотрены стандартными настройками. Например, если требуется отсортировать данные по должностям сотрудников или по названиям отделов.

Подробнее о пользовательской сортировке в Excel говорили в этой статье Skillbox Media.

В процессе работы базы данных могут разрастись до миллиона строк — найти нужную информацию станет сложнее. Фильтрация и сортировка не всегда упрощают задачу. В этом случае для быстрого поиска нужной ячейки — текста или цифры — можно воспользоваться функцией поиска.

Предположим, нужно найти в БД автомобиль стоимостью 14 млн рублей. Перейдём на вкладку «Главная» и нажмём на кнопку «Найти и выделить». Также быстрый поиск можно задавать с любой вкладки Excel — через значок лупы в правом верхнем углу экрана.

Нажимаем сюда, чтобы найти нужное значение в БД
Скриншот: Excel / Skillbox Media

В появившемся окне введём значение, которое нужно найти, — 14000000 — и нажмём «Найти далее».

Задаём параметр поиска
Скриншот: Excel / Skillbox Media

Готово — Excel нашёл ячейку с заданным значением и выделил её.

Результат поиска в БД Excel
Скриншот: Excel / Skillbox Media
  • В этой статье Skillbox Media собрали в одном месте 15 статей и видео об инструментах Excel, которые ускорят и упростят работу с электронными таблицами.
  • Также в Skillbox есть курс «Excel + Google Таблицы с нуля до PRO». Он подойдёт как новичкам, которые хотят научиться работать в Excel с нуля, так и уверенным пользователям, которые хотят улучшить свои навыки. На курсе учат быстро делать сложные расчёты, визуализировать данные, строить прогнозы, работать с внешними источниками данных, создавать макросы и скрипты.
  • Кроме того, Skillbox даёт бесплатный доступ к записи онлайн-интенсива «Экспресс-курс по Excel: осваиваем таблицы с нуля за 3 дня». Он подходит для начинающих пользователей. На нём можно научиться создавать и оформлять листы, вводить данные, использовать формулы и функции для базовых вычислений, настраивать пользовательские форматы и создавать формулы с абсолютными и относительными ссылками.

Другие материалы Skillbox Media по Excel

  • Как сделать сортировку в Excel: детальная инструкция со скриншотами
  • Как установить фильтр и расширенный фильтр в Excel: детальные инструкции со скриншотами
  • Как сделать ВПР в Excel: пошаговая инструкция со скриншотами
  • Основы Excel: работаем с выпадающим списком. Пошаговая инструкция со скриншотами
  • Основы Excel: как использовать функцию ЕСЛИ
  • Как сделать сводные таблицы в Excel: пошаговая инструкция со скриншотами

Создание, ведение, экспорт баз данных и XML с помощью Excel. Управление структурированными данными.

Подключение и обработка баз данных

primer-funkcii-bizvlechБИЗВЛЕЧЬ работа с функциями базы данных в Excel.
Выборка значений или целых строк из базы данных по одному и более критериев. Практические примеры использования функции БИЗВЛЕЧЬ при работе с базой.

sozdanie-bazy-dannyhСоздание базы данных в Excel и функции работы с ней.
Как пошагово создать в Excel базу данных. Функции и операторы, упрощающие работу с БД. Фильтр, сортировка по возрастанию, по убыванию и по условию, промежуточные итоги.

preobrazovat-fail-xml-v-excelСобрать данные из XML файлов в Excel и экспортировать.
Чтобы собрать данные из XML-файлов в Excel, необходимо импортировать их с помощью инструмента Разработчик. Одновременно в книге сохранится схема XML, которую можно перенести и конвертировать.

sozdanie-bazy-dannyh-v-excelСоздание базы данных в Excel по клиентам с примерами и шаблонами.
Простую базу данных можно сделать с помощью Excel. Инструменты программы позволяют систематизировать информацию, задать параметры для отображения, отсортировать по разным критериям. Готовые шаблоны клиентских база данных сделанных в Excel.



Понравилась статья? Поделить с друзьями:
  • Поставщик ole db excel
  • Поставить электронную подпись на документ word онлайн
  • Поставить фильтр в excel сочетание клавиш
  • Поставить фильтр в excel на всех столбцах
  • Поставить точку в конце строки excel