AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 29.06.2010, 14:38   #1  
Loony_imported is offline
Loony_imported
Участник
 
9 / 10 (1) +
Регистрация: 26.10.2006
Добрый день.
Я наверно повторюсь, но прочитав кучу тем так и не удалось решить проблему. Очень нужна помощь. БД SQL. Есть отчет, который очень долго рассчитывает значения по базе, так как она очень большая. Хотелось бы из nav написать запрос напрямую к БД, чтобы это все отработало быстрей. Подскажите, пожалуйста, как это можно сделать.
Старый 29.06.2010, 16:24   #2  
GGNAME is offline
GGNAME
Участник
 
67 / 10 (1) +
Регистрация: 21.02.2010
Думаю что напрямую к бд скорость может и возрастёт, но не думаю что сильно, база то одна и та же. Может проще алгоритм переработать? Объясните по конкретнее что рассчитывает долго.
Старый 30.06.2010, 09:08   #3  
rmv is offline
rmv
Участник
 
481 / 11 (1) +
Регистрация: 15.02.2005
Automation ADO Recordset, ADO Connection и MSDN Вам в помощь
Старый 30.06.2010, 14:12   #4  
Captain is offline
Captain
Участник
Лучший по профессии 2017
 
300 / 81 (3) ++++
Регистрация: 28.02.2003
Это пример для вызова хранимой процедуры.

GLOBAL
adoCmd Automation 'Microsoft ActiveX Data Objects 2.8 Library'.Command
adoRst Automation Microsoft ActiveX Data Objects 2.8 Library'.Recordset
adoCn Automation 'Microsoft ActiveX Data Objects 2.8 Library'.Connection


CREATE (adoCn);
strConnection:='driver={SQL Server};server=mysqlserver;uid=my_user;'+
'pwd=user_pass;database=myDB';
adoCn.ConnectionString:=strConnection;
adoCn.Open;

CREATE(adoCmd);
adoCmd.ActiveConnection :=strConnection;
adoCmd.CommandTimeout := 20;
adoCmd.CommandType := 4; //adCmdStoredProc
strCommand:='SP_MyProcedura';
adoCmd.CommandText :=strCommand;



adoCmd.Parameters.Refresh;
adoCmd.Parameters.Item(1).Value := "CustomerNo.";
adoCmd.Parameters.Item(2).Value := BeginDate;
adoCmd.Parameters.Item(3).Value := EndDate;
adoRst := adoCmd.Execute;


CLEAR(adoRst);
CLEAR(adoCmd);
CLEAR(adoCn);
__________________
---------------------------------------------------------------------------------------------
"Собрать стадо из баранов легко, трудно собрать стадо из кошек" Профессор Сергей Капица
Старый 30.06.2010, 16:06   #5  
Alterant is offline
Alterant
Участник
 
378 / 10 (1) +
Регистрация: 31.03.2004
Цитата:
Сообщение от GGNAME Посмотреть сообщение
Думаю что напрямую к бд скорость может и возрастёт, но не думаю что сильно, база то одна и та же. Может проще алгоритм переработать? Объясните по конкретнее что рассчитывает долго.
Ошибаетесь. Разрабатывал клиентам отчетность на SQL не один раз.
Старый 30.06.2010, 16:30   #6  
Sancho is offline
Sancho
Administrator
Аватар для Sancho
Лучший по профессии 2017
Лучший по профессии 2009
 
1,294 / 221 (10) ++++++
Регистрация: 11.01.2006
много нас
и есть готовые работоспособные тиражируемые решения
Старый 30.06.2010, 17:20   #7  
rmv is offline
rmv
Участник
 
481 / 11 (1) +
Регистрация: 15.02.2005
Цитата:
и есть готовые работоспособные тиражируемые решения
Выбирайте 2 из 3.
PS. По доброму.
Старый 02.07.2010, 12:30   #8  
dmites is offline
dmites
Участник
Аватар для dmites
 
221 / 14 (1) ++
Регистрация: 10.08.2005
Цитата:
Сообщение от Sancho Посмотреть сообщение
много нас
и есть готовые работоспособные тиражируемые решения
http://forum.mazzy.ru/index.php?showtopic=13825
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 08:34.