Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 04.06.2009, 16:10
KBEPTMEH KBEPTMEH вне форума
Прохожий
 
Регистрация: 04.06.2009
Сообщения: 21
Репутация: 10
По умолчанию TDatabase, TQuery, TDatasource

Всем доброго времени суток!
Есть "наидичайшая" нужда и потребность в вашей помощи ...

Может кто-нибудь без:
- умных фраз,
- ссылок на многотысяч-страничные FAQ,
- матов и ругани,
- без стёба и прикалываний ...
... Нормально ответить на сей вопрос ...

----- ----- ----- ----- -----
Проблема...
Делаю приложение для работы с БД.
Используемая БД - MS SQL
Используемая версия Delphi - 7
Раположение файлов БД - корнейвой каталог моей программы

----- ----- ----- ----- -----
Вопрос...
Как и что нужно сделать, что бы "все дружно заработало" ?
Как правильно настроить вышеуказанные в теме компоненты ?
Кто может написать попунктно, коротко и ясно, что и как надо сделать?

----- ----- ----- ----- -----
Post Scriptum...
До того, как создать тему, я начитался макулатуры по данным компонентам, но конкретного объяснения для "БД-Чайников" я нигде не нашел ...
Я делал уже ниодно приложение для работы с БД, но в качестве файлов БД были файлы "*.db (paradox)"
Теперь возникла нужда сделать приложение для работы с MySQL...



----- ----- ----- ----- ----- ----- ----- ----- ----- -----
Заранее очень благодарен за ответ и понимание! Спасибо!
Ответить с цитированием
  #2  
Старый 04.06.2009, 17:59
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Давайте для начала определимся какой SQL-сервер вы все-же используете, т.к.
Цитата:
Используемая БД - MS SQL
Цитата:
Теперь возникла нужда сделать приложение для работы с MySQL...
Согласитесь, противоречие наблюдается.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #3  
Старый 04.06.2009, 21:29
KBEPTMEH KBEPTMEH вне форума
Прохожий
 
Регистрация: 04.06.2009
Сообщения: 21
Репутация: 10
По умолчанию

Цитата:
Сообщение от Страдалецъ
Давайте для начала определимся какой SQL-сервер вы все-же используете, т.к.
Согласитесь, противоречие наблюдается.

Да, наблюдается ...

Используется Microsoft SQL Server 2005 ...

Просто возникает проблема с тем, что записи придется обрабатывать сотнями тысяч ...
В таблицах БД MS SQL Будут "лежать" своего рода "пользовательсвие" запросы.
А начав делать приложение с использованием "хранилища" в виде Paradox-таблиц, столкнулся с проблемой под названием "ограничение максимального предела допустимых записей в таблице"
(их насчиталось чуть больше 320 тысяч) ...

Немного ввел в курс моей "эпопеи" ...
Ответить с цитированием
  #4  
Старый 04.06.2009, 21:58
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Как создать базу на MSSQL я думаю рассказывать нет необходимости. К парадоксу вы наверное через ODBC добирались, тогда доступ к данным практически ничем не отличается. Здесь тоже можно черз ODBC вполне успешно работать, есть некоторые неудобства связаные с блобами и необходимость создания алиаса в системе, но это мелочи. Гораздо хуже другое, работа с SQL сервером предполагает львиную долю работы реализвывать на сервере, а с парадоксом наоборот, все делает клиент. Это уже несколько другой подход и тут вы можете наступить на грабли, если вовремя не осознаете это отличие. Кроме того, как я понял у вас уже готово приложение и вам придется сейчас его адаптировать под SQL-сервер, что тоже невсегда просто. К чему я это говорю, а к тому, что меня насторожила ваша фраза:
Цитата:
...В таблицах БД MS SQL Будут "лежать" своего рода "пользовательсвие" запросы...
Что говорит, о том что вы считаете MSSQL аналогом базы парадок, но без глупых ограничений - это в корне неправильный подход.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #5  
Старый 04.06.2009, 22:13
KBEPTMEH KBEPTMEH вне форума
Прохожий
 
Регистрация: 04.06.2009
Сообщения: 21
Репутация: 10
По умолчанию

Я примерно представляю различия между БД и подходе к реализации ...

Просто я MS SQL выбрал вместо Paradox по причине нехватки максимальнодоступных записей в Paradox для одной таблицы ...
(их всего 320 тысяч)

Просто мне очень интересно ...
"Как соеденить компоненты и что в них указывать для корректной работы?"
Я сделал БД на MS SQL и 2 файла (сама БД и файл-логов) записал в подпапку корневой директории моей программы ...
Как я читал, в компоненте Database, в свойстве DatabaseName можно напрямую файл указывть на диске, а не Alias ...
Я не хочу сильно "сковывать" приложение одной машиной ...
В Paradox-е просто файл таблицы *.db создал, прописал в компоненте Table, в свойстве TableName путь к ней и все ...

А начинаю указывать напрямую файл в БД в компоненте Database ... ошибка: "Invalid Directory" и как я только не пробовал прописывать уже ...

Вот такие пироги
Ответить с цитированием
  #6  
Старый 04.06.2009, 23:25
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Нет, это не так все происходит. MSSQL не дает пользователю прямого доступа к файлам БД. Доступ к SQL-серверу происходит через сетевое подключение независимо от того, на локальной или удаленной машине вы его организуете. Заносить в корневую папку вашей программы эти два файла нет никакой необходимости по той-же причине, напрямую вы к этим файлам доступа не получите, потому MSSQL вам и предлагал при создании новой БД свое хранилище, но вы это проигнорировали. Теперь если вы захотите сменить положение этих файлов, вам придется отключать вашу БД от сервера, переносить файлы и снова подключать с уже с учетом нового местоположения.
Про мобильность БД лучше сразу забыть, т.к. ваши файлы БД без самого SQL-сервера небудут работать. Здесь реализован иной подход, вы установили SQL-сервер и фактически опубликовали свою БД для всех кто имеет право доступа к вашему компьютеру и SQL-серверу, но вы можете не пугаться, что теперь любой желающий может ваши данные забрать, это не так, во избежании этого на MSSQL реализована очень сильная система разграничения доступа к данным.
А добраться ло вашей БД можно так:
1.ODBC
Зайти в панель управления и выбрать Администрирование. Далее источники данных ODBC. Добавить новый источник SQL server. Дать ему имя например MSSQL, в строке Сервер указать имя компьютера где установлен SQLServer или если вы это делаете на машине с установленым SQL-сервером написать localhost или .
Далее указать способ проверки учетной записи. Этот параметр зависит от настроек SQL-сервера, если вы ничего дополнительно не меняли при установке SQL-сервера, то должно работать проверка подлинности Windows NT. Нажав кнопку Далее у вас произойдет проверка доступности сервера по указаным данным, если подключение не удалось получите сообщени, иначе вам предложат установить БД по умолчанию. Можете выбрать свою БД. Проведите тест подключения, для этого там есть специальная кнопочка.
2.ADO
Лично я предпочитаю этот способ подключения.
Запустите Дельфи, добавьте на форму компонент AdoConnection.
Выберите ConnectionString и комманду Build. В поставщике данных выберите Microsoft OLE provider SQL server. В строке Имя сервера указать имя компьютера где установлен SQLServer или если вы это делаете на машине с установленым SQL-сервером написать localhost или .
Далее указать способ проверки учетной записи. Этот параметр зависит от настроек SQL-сервера, если вы ничего дополнительно не меняли при установке SQL-сервера, то должно работать проверка подлинности Windows NT.
В строке выберите базу данных на сервере укажите имя свой БД. Если у вас все параметры заданы верно, то можно будет выбрать базу из списка. Если список пустой, значит по каким-то причинам подключиться к MSSQL не удалось. Проведите тест подключения, для этого там есть специальная кнопочка.
Собственно все.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #7  
Старый 05.06.2009, 07:06
KBEPTMEH KBEPTMEH вне форума
Прохожий
 
Регистрация: 04.06.2009
Сообщения: 21
Репутация: 10
По умолчанию

В принципе понял смысл ...
Спасибо большое ...

А на счет использования:
- Программный продукт делается исключительно для моего личного частного использования, на моем ПК ...
- MS SQL просто "хранилище данных" ...
- Я уже давно разработал несколько алгоритмов оперативного шифрования информации. Именно шифрованные данные будут лежать в таблице (т.е. в Поле Фамилия будет не "Иванов", а "tyj19q8"). Так что если даже что - пусть бируд БД )) я не жадный ))

Спасибо за объяснения, на работу приду, проверю ))
(Спасибо сказал и учетной записи )
Ответить с цитированием
  #8  
Старый 05.06.2009, 11:29
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Да пожалуйста. А шифрование изначально сделано на MSSQL, так-что можете воспользоваться уже готовым.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 10:42.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter