Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.12.09;
Скачать: [xml.tar.bz2];

Вниз

Апгрейд MS SQL Server и Delphi.   Найти похожие ветки 

 
SashaL   (2002-11-20 09:37) [0]

Нагрянул тут апгрейд MS SQL Server 6.5 до MS SQL Server 2000.
Базы перенес и вроде даже правильно. Но есть следующая загвоздка:
Программы разработанные в Delphi 5 перестали видеть хранимые процедуры. Причем в дизайнере они видны как и раньше (в виде dbo.proc1), их можно выбрать, задать параметры, все компилируется и запускается. А во время работы программы вылетает ошибка о том, что не найдена хранимая процедура. Если имя процедуры в компоненте TStoredProc ручками перебить без указания владельца (т.е. в виде proc1), то все нормально,
процедура выполняется без проблем. Для баз данных установлен уровень совместимости с версией 6.5.
Вопрос: что можно сделать (какие настройки в БД изменить), чтобы не перебивать названия прцедур вручную, а то придется перекомпилировать кучу программ и бегать обновлять их по всей организации? Да и для новых проектов придется имена процедур в компоненте руками править. И на какие еще грабли при переходе к новой версии SQL Server можно наступить?


 
stone   (2002-11-20 10:19) [1]

а базы как переносил?
Просто detach, attach?


 
Александр Спелицин   (2002-11-20 10:49) [2]

Симптомы характерные для работы SQL 6.5 через SQL-links (BDE) с использования TStoredProc и последующему мереходу на SQL 7.0/2000. BDE SQL-link работает через db-lib, который MS отказался поддерживать и оставил на уровне SQL 6.5, при этом сильно изменив структуру системных объектов как БД master, так и остальных баз. SQL-link for MSSQL работает с системными объектами не через спец. функции/процедуры, как рекомендует M$, а напрямую. И к томуже поддерживает (гарантированно) только SQL 6.5 - это заявление Borland.
А связка TStoredProc & SQL7.0 у меня никогда стабильно не работала. И именно по этому я использовал следующую схему:
Application->BDE->ODBC->MSSQL7.0/2000
А для вызова процедур использовал TQuery c SQL текстом вида Exec my_sroted_procedure [:param1, :param2, ..., :paramN]
Так что лучше всего вам перейти обратно на SQL 6.5, а новые проекты реализовывать на какой-либо другой технологии, например ADO.


 
SashaL   (2002-11-20 16:51) [3]

Спасибо за помощь.
Базы переносил при помощи мастера, а не через attach/detach. Возвращаться в 6.5 (правда пока и не перешли, тока пробный перенос) не хочется. Уже на перенесенной БД скорость выросла значительно, да и ряд возможностей в 2000 сервере привлекают. Скорость для задач довольно критична (на текущей БД запросы могут выполняться до 30 секунд, а хранимые процедуры минутами (правда в них очень большой объем работы)). Причина - неоптимальные структуры таблиц (по наследству досталось, переделать нет возможности) и содержание БД (мусора ну очень много), ну и конечно местами кривизна наших рук.


 
SergSuper   (2002-11-20 17:31) [4]

скорее всего процедуры записаны как my_proc;1, а надо просто my_proc. В 6.5 это было всё равно, а в 7 и 2000 - придётся эту единицу убирать. И наверное вручную. Или же процедуры сделать с таким именем



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2002.12.09;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.009 c
7-28310
[BAD]Angel
2002-10-08 14:46
2002.12.09
Люди, помогите с CTRL+ALT+DEL...


7-28324
Sergey V. Shadrin
2002-10-02 09:02
2002.12.09
процесс


3-27892
Senka
2002-11-21 09:00
2002.12.09
Связанные поля БД


1-27947
Max
2002-11-29 09:13
2002.12.09
Делфи и Линух


3-27902
Julia
2002-11-20 11:13
2002.12.09
BDE и MS SQL Server 2000





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский