powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Delphi->DB-Library->MSSQL 2000
6 сообщений из 6, страница 1 из 1
Delphi->DB-Library->MSSQL 2000
    #32064911
andysofr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемые участники форума!
Прошу помочь вот по какому вопросу.
Есть необходимость перенести эксплуатируемую БД с MSSQL 6.5 на MSSQL 2000. Перенос осуществили. Теперь, чтобы не переписывать клиентскую часть задачи прописываем Алиас в BDE. В этом случае не выполняются хранимые процедуры имеющие параметры и открываемые через компоненты TProcedure. SQL сервер выдает сообщение об отсуствии такой процедуры. Процедуры не имеющие параметры выполняются успешно по той же компоненте. Процедуры с параметрами через TQuery выполняются тоже успешно. Delphi 6, MSSQL 2000 с SP2.
Андрей
...
Рейтинг: 0 / 0
Delphi->DB-Library->MSSQL 2000
    #32064914
Фотография AVL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тип параметра надо указать явно - Input, Output, Result
...
Рейтинг: 0 / 0
Delphi->DB-Library->MSSQL 2000
    #32064932
Александр Спелицин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дело в том, что при использовании TStoredProc, BDE лезет на SQL сервер не совсем корректным образом.идет попытка получить всю информацию о параметрах процедуры. Причем это происходит через прямой Select по системным таблицам. В 7.0, а тем более в 2000 в этих таблицах кое-что поменялось - вот Вам и ответ на вопрос. В случае TQuery, в тексте которого прописано
Exec SomeProc :param1, :param2, ... :paramN
на сервер просто передается эта строка без каких-либо дополнительных манипуляций. К тому же Вы сами на это ответили.

Мой Вам совет. Используйте связку Delphi->BDE->ODBC->MSSQL 2000. Именно так и было в моем предшествующем проекте с D4/5 и SQL7.0. И вдобавок, все летало с бешенной скоростью.
...
Рейтинг: 0 / 0
Delphi->DB-Library->MSSQL 2000
    #32064984
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А по-моему это из-за другого.
В 6.5 если допустим у нас есть некая процедура someproc, то её можно было вызывать как exec someproc;1
В БДЕ всем процедурам добавлялась эта ";1". Начиная с 7-й версии вызов процедуры надо делать так, как она создалась.
Т.е. надо везде эту единичку убирать
...
Рейтинг: 0 / 0
Delphi->DB-Library->MSSQL 2000
    #32064995
Александр Спелицин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насчет единички...
Было очень много проблем с ней. Причем поведение программы было абсолютно непредсказуемым. Например, в Design Time некая TStoredProc нормально открывалась (при том, что параметров у нее не было), п в самой программе возникали ошибки. Так что лучше отказаться от использования от TStoredProc вообще.
...
Рейтинг: 0 / 0
Delphi->DB-Library->MSSQL 2000
    #32065162
Фотография AVL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Процедуры не имеющие параметры выполняются успешно по той же компоненте.

причем здесь единички? :)
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Delphi->DB-Library->MSSQL 2000
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]