Поделитесь опытом перехода с/s Access2000/SQL --> AccessProject/SQL

Vlad
Дата: 05.12.2000 13:19:21
Госпада DBA и DB Developer'ы поделитесь опытом перехода с/s Access2000/SQL --> AccessProject/SQL если таковой имеется. Что он реально Вам дал и чего он вам стоил. Так же интересно мнение тех кто этого не делал, но задумывался (как я: надо же куда-то двигаться).
Добавлю чтоб было с чем сравнивать, что речь идет о БД в которой порядка 50 таблиц на SQL7.0, но целая куча закрученных друг на друге запросов реализованных сейчас с клиентской стороны. Они то в основном и тормозят. Причем добрая треть этих запросов использует конструкции которые в лоб в представления не преобразуешь. Всё понятно ,что есть sp и триггера, но стоит ли с этим завязываться? или продалжать потихоньку это оптимайзить с помощью всё тех же sp и триггеров не переходя под accessproject и ничего глобального не задумывать. Буду признателен за Ваши отклики, а также рад расшарить собственный опыт.
Roman
Дата: 06.12.2000 05:53:22
Опыт пока небольшой , но попробую рассказать.
Перешел , правда с А97/SQL7.0 в проект. Программа складского учета работала с SQL через прилинкованные по ODBC таблицы, работала весьма медленно (пара клиентов сидит на скорости 1 Мбит, у них вообще ужас был), что и сподвигло меня на переход. Запросы А97 по возможности перевел в представления , там где требовалось ограничить набор записей какими - либо критериями в свойстве формы использовал конструкцию вида "Select * from MyView Where [условие1] ... Order by ...", или процедуру с параметрами. Особо закрученные расчеты пока оставил на клиенте, но ,само-собой, с использованием ADO. Пока этими преобразованиями доволен , по сравнению с ODBC скорость работы выросла в несколько раз, (особенно заметно на 1 Мбит). Трудоемкость данного мероприятия сравнительно небольшая, единственое, с чем пришлось покопаться - перекрестные запросы , в T-SQL их просто нет , воспользовался примером с сервера www.planet-source-code.com.
В общем, мое мнение - овчинка выделки стоит, хотя и не все гладко в этих проектах, но работать с ними можно .

С уважением, Роман
Павел
Дата: 06.12.2000 07:05:31
А что означает (про перекрестные запрсы) 'T-SQL их просто нет' ? а где они тогда есть? Другое дело что В MSSQL 7 нет стандартных средств автоматического построения столбцов результирующего набора записей. Это легко обходится с помощью DSQL. Или нужно просто заранее прописать все столбцы в запросе. В Books Online есть соответствующий пример. В MSSQL 2k вроде как это все уже есть (правда я сам еще не видел). Кстати, а что там за пример на www.planet-source-code.com ? C ходу не нашел. Интересно посмотреть.
Roman
Дата: 06.12.2000 10:05:51
Нет - это означает что нет стандартных средств.
Пример находится тут
http://www.planet-source-code.com/xq/ASP/txtCodeId.167/lngWId.5/qx/vb/scripts/ShowCode.htm
- это как раз прописывание столбцов в Select.
А вот что такое "легко обходится с помощью DSQL"?
Можно поподробнее , плз?
Роман
Павел
Дата: 06.12.2000 15:01:18
На примере той же таблицы(http://www.planet-source-code.com/xq/ASP/txtCodeId.167/lngWId.5/qx/vb/scripts/ShowCode.htm
)

Set Nocount On
Declare @obj_id Char(4), @str As Varchar(1000)
Declare cr Cursor Local Fast_Forward For Select Distinct obj_id From tb
Set @str='Select record_id '
Open cr
Fetch Next From Cr Into @obj_id
While @@Fetch_Status = 0
Begin
Set @str = @str + ', Min(Case When obj_id = ' + Char(39) + @obj_id + Char(39) + ' Then reference End) As ' + @obj_id
Fetch next From Cr Into @obj_id
End
Close cr
Deallocate cr
Set @str = @str + ' From tb Group By record_id'
Execute(@str)
Roman
Дата: 07.12.2000 05:20:08
Понятно, я пока Select собираю в VBA, но смысл тот же самый.
Роман