|
|
|
Delphi->DB-Library->MSSQL 2000
|
|||
|---|---|---|---|
|
#18+
Уважаемые участники форума! Прошу помочь вот по какому вопросу. Есть необходимость перенести эксплуатируемую БД с MSSQL 6.5 на MSSQL 2000. Перенос осуществили. Теперь, чтобы не переписывать клиентскую часть задачи прописываем Алиас в BDE. В этом случае не выполняются хранимые процедуры имеющие параметры и открываемые через компоненты TProcedure. SQL сервер выдает сообщение об отсуствии такой процедуры. Процедуры не имеющие параметры выполняются успешно по той же компоненте. Процедуры с параметрами через TQuery выполняются тоже успешно. Delphi 6, MSSQL 2000 с SP2. Андрей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2002, 12:21:52 |
|
||
|
Delphi->DB-Library->MSSQL 2000
|
|||
|---|---|---|---|
|
#18+
тип параметра надо указать явно - Input, Output, Result ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2002, 12:24:13 |
|
||
|
Delphi->DB-Library->MSSQL 2000
|
|||
|---|---|---|---|
|
#18+
Дело в том, что при использовании TStoredProc, BDE лезет на SQL сервер не совсем корректным образом.идет попытка получить всю информацию о параметрах процедуры. Причем это происходит через прямой Select по системным таблицам. В 7.0, а тем более в 2000 в этих таблицах кое-что поменялось - вот Вам и ответ на вопрос. В случае TQuery, в тексте которого прописано Exec SomeProc :param1, :param2, ... :paramN на сервер просто передается эта строка без каких-либо дополнительных манипуляций. К тому же Вы сами на это ответили. Мой Вам совет. Используйте связку Delphi->BDE->ODBC->MSSQL 2000. Именно так и было в моем предшествующем проекте с D4/5 и SQL7.0. И вдобавок, все летало с бешенной скоростью. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2002, 13:10:03 |
|
||
|
Delphi->DB-Library->MSSQL 2000
|
|||
|---|---|---|---|
|
#18+
А по-моему это из-за другого. В 6.5 если допустим у нас есть некая процедура someproc, то её можно было вызывать как exec someproc;1 В БДЕ всем процедурам добавлялась эта ";1". Начиная с 7-й версии вызов процедуры надо делать так, как она создалась. Т.е. надо везде эту единичку убирать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2002, 15:08:28 |
|
||
|
Delphi->DB-Library->MSSQL 2000
|
|||
|---|---|---|---|
|
#18+
Насчет единички... Было очень много проблем с ней. Причем поведение программы было абсолютно непредсказуемым. Например, в Design Time некая TStoredProc нормально открывалась (при том, что параметров у нее не было), п в самой программе возникали ошибки. Так что лучше отказаться от использования от TStoredProc вообще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2002, 15:22:54 |
|
||
|
|

start [/forum/topic.php?fid=46&fpage=3383&tid=1819044]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
42ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 205ms |
| total: | 321ms |

| 0 / 0 |
