Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > MSSQL Server 2000 + delphi 7


Автор: alluvian 17.3.2006, 16:49
Пытаюсь создать сие произведение)
Пока только создала БД.
Подскажите: 1) как лучше подключить БД к делфи: через Ado или BDE??? Или ещё через что-нить?
2) Можно ли делать поля на русском языке????

PS Один раз разрабатывала приложение с использованием выше сказанного ПО

Автор: Vit 18.3.2006, 18:59
1. ADO однозначно
2. Да, если на сервере Collation установлен на русский, хотя это считается не очень правильным тоном в программировании

Автор: alluvian 19.3.2006, 14:22
Цитата(Vit @ 18.3.2006, 18:59)
1. ADO однозначно
2. Да, если на сервере Collation установлен на русский, хотя это считается не очень правильным тоном в программировании

А глюков с русским языком потом не будет??? Просто не очень нравится английскими буквами писать название атрибутов..

Спасибо за ответы

Автор: Vit 19.3.2006, 16:47
Глюков не будет если все названия полей использовать в запросах в квадратных скобках:
Код


Select * From [Русская таблица]
Where [Фамилия, Имя и Отчество]='Иванов Иван Иванович'

Автор: DDX 20.3.2006, 14:18
советую не использовать имена полей на русском. латиницей и короче будет, и нагляднее, и запросы писать легче.
сам по юности так один раз сделал smile потом переделывал и больше ни-ни

Автор: alluvian 21.4.2006, 18:29
А почему ADO По сети работает жутко медленно? 

Автор: Vit 21.4.2006, 20:36
Цитата(alluvian @  21.4.2006,  09:29 Найти цитируемый пост)
А почему ADO По сети работает жутко медленно?  



ADO работает быстро, оно именно для сетей и разрабатывалось. А тормоза зависят от того что вы конкретно делаете. Надо бы предоставить более полную информацию по тому что вы делаете 

Автор: alluvian 21.4.2006, 20:51
Просто пытаюсь для начала к базе приконектится через сеть 

Автор: Vit 21.4.2006, 21:21
В смысле медленно происходит сам процесс коннекта? Сделайте Alias в MS SQL Client Network Utility используя TCP/IP, чтобы избежать поиска по сетке нужного компьютера. 

Автор: alluvian 21.4.2006, 22:17
Ой, а как это?? Я пока чайник в этом деле. Медленно происходит коннект к базе. 

Автор: Vit 21.4.2006, 22:39
1. На клиентский компьютер ставим MS SQL Server. Когда запущеная инсталляция спросит что устанавливать - указать что устанавливать клинетские приложения без сервера (там три опции - установить сервер, установить клиента и установить только утилиты коннекта - нам нужен второй вариант)

2. После установки - Пуск->Программы->MS SQL Server->Client Network Utility

В ней выбираем создать новый Alias, указываем протокол для него TCP/IP,
указываем имя Alias какое хотите, например "Вася", устанавливаем IP адрес компа к которому происходит коннект (сервера), сохраняем

Теперь в строке подключения используем имя сервера "Вася"

Должно быть быстрее. Впрочем не обращайте внимание на время коннекта - это ж одноразовая манипуляция, редкая, после установления коннекта всё должно работать быстро

Добавлено @ 22:41 
А можно ещё вместо имени сервера давать IP адрес сервера в строке подключения 

Автор: alluvian 21.4.2006, 22:51
У меня тока коннект запрограммирован. Основные запросы не писала, просто испугалась может все долго работать будет. В инете очень ругают Адо компоненты.   

Автор: AKN 22.4.2006, 15:10
alluvian,  слушай что тебе Vit говорит. В инете много говоряд, да не знают о чем... 

Автор: Vit 23.4.2006, 04:15
Цитата(alluvian @  21.4.2006,  13:51 Найти цитируемый пост)
У меня тока коннект запрограммирован. Основные запросы не писала, просто испугалась может все долго работать будет. В инете очень ругают Адо компоненты.    



Тэкс... перемешиваем кашу в голове...

Почему медленно работает коннект? Потому как это довольно сложная многоходовая операция, примерный план её выполнения:

1. Найти в сети компьютер с нужным именем, эта операция сильно зависит от конфигурации сети и может быть достаточно сложной, минуть её нельзя
2. Обратится к удалённому компьютеру, при этом удалённый сервер должен проверить разрешение на такие действия и активировать нужный сервис
3. SQL сервер получает запрос, и далее делает насколько запросов к системным таблицам для проверки разрешено ли вам к нему коннектится
4. MS SQL Server заносит в разные логи информацию о коннекте.

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

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

В нашем FAQ есть статья, настоятельно рекомендую читнуть http://vingrad.ru/ART-DELPHI-002171 

Автор: alluvian 23.4.2006, 14:27
Цитата(AKN @ 22.4.2006,  15:10)
alluvian,  слушай что тебе Vit говорит. В инете много говоряд, да не знают о чем...

Говорят много)) Но иногда бывает правда. Я же в самом начале сказала, что ПОКА я чайник.
Не разбираюсь в компонентах.  

Автор: alluvian 24.4.2006, 21:06
Сорри за оффтоп!
Можно ли сделать и примерно как, чтобы когда шел коннект к базе, грузился Splash Screen.Ккак сделать Splash знаю. Про многопоточное программирование прочитала, но совершенно не поняла, как это сделать... smile
 

Автор: Vit 24.4.2006, 21:56
Ой... не надо многопоточное... с ADO там не всё так гладко.

PS. А не пора ли каждый отдельный вопрос задавать в своей собственной теме? 

Автор: alluvian 24.4.2006, 22:28
Ой) Извините) Будем исправляться)) 

Автор: Akella 25.1.2009, 15:04
Цитата(Vit @  23.4.2006,  04:15 Найти цитируемый пост)
В нашем FAQ есть статья, настоятельно рекомендую читнуть http://vingrad.ru/ART-DELPHI-002171 

нет доступа

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)