Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.01 c
1-93033
Andrei_
2002-11-19 13:20
2002.11.28
Выравнивание строк в ListBox


3-92863
nv-vetal
2002-11-02 19:00
2002.11.28
Как протащить картинку из поля объекта OLE таблицы Аccess .....


1-92993
Anar
2002-11-18 20:35
2002.11.28
Как узнать версию Windows?


1-93038
Novichek
2002-11-16 13:54
2002.11.28
Подскажите как создать приложение без формы?


7-93266
isc
2002-09-28 09:54
2002.11.28
LPT порт




   Наверх