Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.28;
Скачать: CL | DM;

Вниз

Вопрос по MS SQL для профессионалов!   Найти похожие ветки 

 
Мазут Береговой   (2002-11-13 00:35) [0]

Хлопцi!
Такая проблема.
Написал программу, которая работает с базой данных используя stored procedures. Причем, на рабочем десктопе она работает исключительно. На рабочем десктопе(windows2000 pro) имеется своя база. Когда создаю соединение к серверу(windows2000 server), то перестает работать одна из stored procedure, которая получает два параметра и пишет в одно из полей кое-какие данные. Вот Код

ADOSP := TADOStoredProc.Create(Self);
ADOSP.ConnectionString:=EConnectionString.Text;
ADOSP.ProcedureName := "P_##_Create_Login";
ADOSP.Parameters.Refresh;
try
ADOSP.Close;
ADOSP.Parameters[1].Value := Account;
ADOSP.Parameters[2].Value := Pref;
ADOSP.ExecProc;
finally
ADOSP.Destroy;
end;


Как только дохожу до строчки ADOSP.Parameters[1].Value := Account;, то получаю ошибку List index out of bounds(1)
Получается, что нехватает каких-то прав для логина, раз она не может вернуть кол-во параметров. Тогда вопрос: какими особенными своийствами должен обладать логин (и каких их создать) для удаленного компьютера, чтобы иметь правильный доступ в базу.
Думаю, что это вопрос к администраторам.
Спасибо.


 
kaif ©   (2002-11-13 03:34) [1]

А нельзя просто убрать
ADOSP.Parameters.Refresh;
?
Я не знаток ADO, Но обычные TStoredProc погут хранить 2 параметра persistent. Создай 2 параметра persistent и присваивай им значения. Или просто добавь их в список параметров runtime (есть же такие методы), если нужно обязательно создавать компонент runtime. Мне кажется, что если тип и кол-во параметров заранее известно и постоянно, то можно хотя бы попытаться пойти этим путем.


 
Юрий   (2002-11-13 04:02) [2]

Вообще-то ADOSP.Parameters.Refresh убрать нельзя. Сначала я пробовал без этой строчки и тогда программа не знала ничего про параметры. А как только поставил - все заработало.

Я УЖЕ НАШЕЛ В ЧЕМ ПРИЧИНА - Я ПРОСТО ЗАБЫЛ ДОБАВИТЬ ЭТУ STORED PROCEDURE В БАЗУ СЕРВЕРА. ИХ ОКОЛО 20 ШТУК ТАМ. СРАЗУ И НЕ ЗАМЕТИЛ. ТАК ЧТО, ИЗВИНИТЕ ЗА БЕСПОКОЙСТВО.

СПАСИБО БОЛЬШОЕ ВСЕМ.



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

Текущий архив: 2002.11.28;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.019 c
3-92926
Fixxxer
2002-11-11 16:40
2002.11.28
DOS error 4


4-93287
sergserg
2002-10-03 17:17
2002.11.28
Активация формы


3-92830
Step[B.M.]
2002-11-12 12:34
2002.11.28
Проблемы с составлением SQL запроса в котором числа Float ...


1-93075
LongIsland
2002-11-15 16:06
2002.11.28
Размеры рисунка в TImage


14-93209
Anar
2002-11-08 19:18
2002.11.28
Работа с архивами