Модераторы: LSD

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Что такое ODBC, Что такое ODBC 
:(
    Опции темы
mikleN
Дата 22.6.2004, 02:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 28.4.2004

Репутация: нет
Всего: нет



Уважаемый ALL.
Не могу понять что такое ODBC, точнее идеологию, как это использовать. Кто такие источники данных и т .д. Задача стоит такая - из внешнего приложения нужно достать данные, которые оно готово предоставлять по ODBC.
Спасибо.
PM MAIL   Вверх
boevik
Дата 22.6.2004, 08:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1452
Регистрация: 31.5.2004
Где: Израиль

Репутация: 6
Всего: 35



Была/Есть такая идея у Microsoft, предоставить программисту универсальный интерфес для обращения к базам данных (и не только к ним).
С другой стороны, каждый производитель базы данных который хочет предоставить доступ к своей базе, пишет ODBC driver.
Получается, что если ты как программист умеешь работать с ODBC, то не важно с какой базой ты работаешь, главное что б был установлен ODBC driver к той базе.
Это идеология.

А если конкретнее, то задавай более конкретный вопрос.


--------------------
Никогда не говори никогда
PM MAIL WWW   Вверх
Гость_mikleN
Дата 22.6.2004, 12:24 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Есть внешняя программа, которая формирует поток данных в таблице, которые мне надо обрабатывать по мере поступления. Эта программа готова, судя по хэлпу, предоставлять эти данные по ODBC. Прежде чем начать экспорт она требует, чтобы в ее окошке пользователь настроил ODBC, а именно ввел соответствие между полями ее таблицы и таблицы, куда будет происходить вывод данных и выбрал "имя источника данных". Так вот я не могу понять, какая таблица имеется в виду, где ее место - в моей программе или где-то еще в Windows. если в недрах Windows, то как я получу к ней доступ. А данные - это просто текстовые данные.
Спасибо.
  Вверх
boevik
Дата 22.6.2004, 13:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1452
Регистрация: 31.5.2004
Где: Израиль

Репутация: 6
Всего: 35



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


--------------------
Никогда не говори никогда
PM MAIL WWW   Вверх
Гость_mikleN
Дата 22.6.2004, 14:05 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Спасибо большое за ответ.
>наверное программа умеет работать с ODBC
Программа умеет работать, я не умею.
>Тебе надо определить свою базу в ODBC и указать программе "имя источника данных", как имя которое ты определишь ей в ODBC.
Т.е. через панель управления Windows->Источники данных ODBC я ввожу новый пользовательский DSN со своим названием - это и есть "имя источника данных" . А где там определять таблицу то и поля ее, и как моя программа должна получать данные. Не могу понять никак.
Спасибо.
  Вверх
boevik
Дата 22.6.2004, 14:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1452
Регистрация: 31.5.2004
Где: Израиль

Репутация: 6
Всего: 35



Цитата
через панель управления Windows->Источники данных ODBC я ввожу новый пользовательский DSN со своим названием - это и есть "имя источника данных

Все верно.
Цитата
А где там определять таблицу то и поля ее,.

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

Цитата
и как моя программа должна получать данные. Не могу понять никак.

Тебе не обязательно работать из своей программы через ODBC.
Работай так как ты умеешь. А где сидят данные, ты знаешь. Ты ведь определил source для ODBC.


--------------------
Никогда не говори никогда
PM MAIL WWW   Вверх
Гость_mikleN
Дата 22.6.2004, 15:17 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Спасибо.
>В ODBC нельзя определить, насколько я понял, это надо определять в программе, которая экспортирует данные.
Так вот она просит ввести соответствие между полями ее таблицы с данными и полями таблицы в которую эти данные должны попасть.
>Тебе не обязательно работать из своей программы через ODBC.
Работай так как ты умеешь. А где сидят данные, ты знаешь. Ты ведь определил source для ODBC.
А как я из своей программы обращусь к ODBC. Вообще ODBC это что такое - это файлы, которые переиодически обновляются, это какой-то Control WinAPI или область памяти раздялемая. Не знаю я и не могут понять.
Спасибо.
  Вверх
boevik
Дата 22.6.2004, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1452
Регистрация: 31.5.2004
Где: Израиль

Репутация: 6
Всего: 35



Цитата
Вообще ODBC это что такое - это файлы, которые переиодически обновляются, это какой-то Control WinAPI или область памяти раздялемая. Не знаю я и не могут понять.

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

Ты знаешь, где ты лежит, твоя база. И сможешь добраться до данных без ODBC, напрямую.

Давай конкретнее, куда ты экспортируешь данные в текстовый файл или в базу данных?


--------------------
Никогда не говори никогда
PM MAIL WWW   Вверх
Гость_mikleN
Дата 22.6.2004, 22:33 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата

Ты знаешь, где ты лежит, твоя база. И сможешь добраться до данных без ODBC, напрямую.

Давай конкретнее, куда ты экспортируешь данные в текстовый файл или в базу данных?

Есть данные во внешней программе, котороые она получает в процессе своей работы. Мне нужно написать программу, которая будет обрабатыывать эти данные дополнительно. Внешняя программа умеет отдавать свои данные через ODBC (есть там кнопка Экспорт данных). Мне нужно написать программу которая будет эти данные поолучать и обрабатывать. Мне все равно текстовый ли это файл и чего то там еще, мне нужно добравться до данных, а вообще это текст.
Т.е мне базу надо предварителньо создать что ли, в которую будут попадать эти данные. Т.е. прежде чем начать экспорт, моя программа должна создать базу и как-то объявить об этом Windows. наврное так.Да?
спасибо.

  Вверх
Гость_mikleN
Дата 22.6.2004, 23:10 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











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

  Вверх
boevik
Дата 23.6.2004, 08:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1452
Регистрация: 31.5.2004
Где: Израиль

Репутация: 6
Всего: 35



Цитата
Вот сейчас я думаю так (поправьте меня, please, если я ошибаюсь) - моя программа сохздает базу данных, которую я через панель управления Windows поключаю к интьерфейсу ODBC к какому то имени и посылаю программу на начало импорта каким-то образом.

Почти верно.
Не обязательно создавать базу через свою программу.
Тем более, что ты хочешь экспортировать в текстовые файлы.
Тебе надо зайти в ODBC и создать новое имя (Data Source), указав драйвером Microsoft Text Driver. В определении нового Data Source ты указываешь папку в которой будут находится твои данные.
Цитата
Если это так, то вопрос где определеяется структура таблицы в которую будут поступать данные.

Как работает ODBC с текстовыми файлами?
Каждый текстовый файл в папке является таблицей. Её имя это название файла. К примеру, файл под именем table1.txt будет виден как таблица с таким же именем.
Естественно в текстовом файле нельзя определить структуру таблицы.
Но первая строка задает названия полей и обычно разделение идет через запятую.
Т.е. первая строка "f1,f2,f3" говорит о том, что в этой таблице есть 3 поля и названия у них f1, f2, f3.

Удачи.



--------------------
Никогда не говори никогда
PM MAIL WWW   Вверх
Гость_mikleN
Дата 23.6.2004, 11:57 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Спасибо. Стало значительно лучше.
А еще подскажите. пожулйста, пару операторов API для работы с ODBC, чтобы мне сразу на хелп SDK попасть.
  Вверх
boevik
Дата 23.6.2004, 11:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1452
Регистрация: 31.5.2004
Где: Израиль

Репутация: 6
Всего: 35



Гость_mikleN, а в чем ты программу пишешь?
Я работаю с ODBC через ADO.


--------------------
Никогда не говори никогда
PM MAIL WWW   Вверх
Гость_mikleN
Дата 23.6.2004, 12:58 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











<quote>Гость_mikleN, а в чем ты программу пишешь?
Я работаю с ODBC через ADO. </quote>
Я Delphi использую. А ADO - это что такое. Опять прошу прощения за такие вопросы, но, често говорю, не знаю что это такое. Подозреваю, что это надстройка Delphi для удобства работы с ODBC. Нет?
  Вверх
boevik
Дата 23.6.2004, 13:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1452
Регистрация: 31.5.2004
Где: Израиль

Репутация: 6
Всего: 35



Цитата
Я Delphi использую. А ADO - это что такое. Опять прошу прощения за такие вопросы, но, често говорю, не знаю что это такое. Подозреваю, что это надстройка Delphi для удобства работы с ODBC. Нет?

ADO - Аctive Data Object. Это ActiveX DLL (еще один интерфейс) для работы с базами данных.
К сожалению, я работаю с VB. И я думаю, что тебе надо обращаться на форум Delphi, что б узнать как работать с ODBC.
Но тебе не обязательно работать с ODBC.
После экспорта данных, данные находятся в текстовый файлах. И ты можешь прочитать их на прямую, минуя ODBC, как обыкновенный текстовый файл.


--------------------
Никогда не говори никогда
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Общие вопросы по базам данных"
LSD
Zloxa

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

  • вопросам по СУБД для которых нет отдельных подфорумов
  • вопросам которые затрагивают несколько разных СУБД (например проблема выбора)
  • инструменты для работы с СУБД
  • вопросы проектирования БД
  • теоретически вопросы о СУБД

Данный форум не предназначен для:

  • вопросов о поиске разлиных БД (если не понимаете чем БД отличается от СУБД то: а) вам не сюда; б) Google в помощь)
  • обсуждения проблем с доступом к СУБД из различных ЯП (для этого есть соответсвующие форумы по каждому ЯП)
  • обсуждения проблем с написание SQL запросов, для этого есть форум Составление SQL-запросов
  • просьб о написании курсовой, реферата и т.п., для этого есть Центр помощи или фриланс биржа
  • объявлений о найме специалистов, для этого есть раздел Объявления о найме специалистов

Если вы не соблюдаете эти правила, не удивляйтесь потом не найдя свою тему/сообщение. ;)


Полезные советы:

При написании сообщения постарайтесь дать теме максимально понятное название. В теме максимально подробно опишите проблему. Если применимо укажите: название базы данных и версии (MySQL 4.1, MS SQL Server 2000 и т.п.); используемых язык программирования; способа доступа (ADO, BDE и т.д.); сообщения об ошибках.

Для вставки кода используйте теги [code=sql] [/code].

Литературу по базам данных можно поискать здесь.

Действия модераторов можно обсудить здесь.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, LSD, Zloxa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | СУБД, общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1178 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.