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

Вниз

Вопрос по 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.44 MB
Время: 0.011 c
1-93027
AlexNO
2002-11-19 10:43
2002.11.28
Min & Max


1-92990
Barman
2002-11-18 19:42
2002.11.28
Как вставить картинку?


4-93307
Игорь2
2002-10-18 19:55
2002.11.28
Общий и свободный объем диска больше 4 ГБ


7-93275
Timon
2002-09-27 13:24
2002.11.28
Глобальная память в DLL


14-93259
Asteroid
2002-11-10 20:32
2002.11.28
Все на тестирование!





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский