Найдено 11 результатов

Valery.B
Пн 13 фев 2017 19:21
Форум: Universal Data Access Components
Тема: Как работать с SecureBridge ?
Ответы: 1
Просмотры: 4420

Как работать с SecureBridge ?

т.к. нет раздела под SecureBridge, я решил написать сюда.

Установил на вирутальной машине чистую Делфи 7.
Скачал демо версию Secure Bridge (для Делфи 7). В нём есть компонент TScIdIOHandler
Я его поставил в качестве IoHandler к IndyHttp

Код: Выделить всё

IdHttp1.IoHandler := TScIdIOHandler;
Memo1.Lines.Add(IdHTTP1.Get('https://google.com'))
При вызове вылетает ошибка - IO handler value is not Invalid
Что может быть не так ? Как добавить https://google.com в memo1 ?

В дистрибутиве я так и не нашёл примера работы.
Valery.B
Пн 01 авг 2016 16:34
Форум: Universal Data Access Components
Тема: Можно загрузить содержимое XML от C# в TVirtualTable ?
Ответы: 5
Просмотры: 5880

Re: Можно загрузить содержимое XML от C# в TVirtualTable ?

Да, я это понимаю.
C# и Visual Studio - не такая уж и редкость.
Я думал, что может есть компонент, позволяющий сделать это, без разработки своего велосипеда...
Valery.B
Пт 29 июл 2016 10:46
Форум: Universal Data Access Components
Тема: Можно загрузить содержимое XML от C# в TVirtualTable ?
Ответы: 5
Просмотры: 5880

Re: Можно загрузить содержимое XML от C# в TVirtualTable ?

Да, про метод LoadFromFile я знаю.
И он не работает, т.к. формат XML у C# другой.

Вопрос - существует ли возможность загрузить его ? Без написания собственных коверторов XML ?
Valery.B
Вт 26 июл 2016 10:54
Форум: Universal Data Access Components
Тема: Можно загрузить содержимое XML от C# в TVirtualTable ?
Ответы: 5
Просмотры: 5880

Можно загрузить содержимое XML от C# в TVirtualTable ?

Добрый день!
Может быть есть стандартный способ или существующий компонент, который сможет загрузить набор данных XML сохранённый в ADO.NET в VirtualTable ?
Valery.B
Пт 08 июл 2016 13:32
Форум: Universal Data Access Components
Тема: TUniStoredProc - задаёт всем параметрам NULL
Ответы: 7
Просмотры: 7636

Re: TUniStoredProc - задаёт всем параметрам NULL

Добрый день!

Мы ищем замену ClientDataSet
И не можем переделать весь проект на аналогичный код.
Кроме того, мы считаем подобный код не совсем безопасным в плане SQL инъекций.

Если я правильно понимаю, то заставить компонент TUniStoredProc НЕ обращаться за списком параметров - нельзя ?
Valery.B
Чт 07 июл 2016 14:53
Форум: Universal Data Access Components
Тема: TUniStoredProc - задаёт всем параметрам NULL
Ответы: 7
Просмотры: 7636

Re: TUniStoredProc - задаёт всем параметрам NULL

Попробовал сделать как вы сказали.

Код: Выделить всё

var
Query  : TUniQuery;
...
Query.SQL.Text:='spui_GetItemById';
Query.Params.CreateParam(ftInteger,'@ItemID',ptInput).AsInteger:=42;
Query.Open;
Но в таком случае ошибка возникает даже тогда, когда параметр присутствует.
Можно конечно заменить текст на 'spui_GetItemById 42', но тогда возможна SQL инъекция (если параметр берётся из контролов).

Можно сделать так, когда параметр отсутствует - ошибка. Когда присутствует - исполнятся. Без дополнительных обращений к базе.
Valery.B
Чт 07 июл 2016 13:59
Форум: Universal Data Access Components
Тема: Можно ли использовать UniDac как ADO Briefcase ?
Ответы: 5
Просмотры: 6313

Re: Можно ли использовать UniDac как ADO Briefcase ?

Спасибо за ответ.
Но если я правильно понимаю, то у компонента TUniQuery нету метода .LoadFrom*.
Но LoadFrom* - есть только Virtual Table.
Таким образом, я не смогу закешировать результаты запросов в тех случаях, когда это нужно. По этому, приходиться использовать такой сложный механизм.
Valery.B
Чт 07 июл 2016 10:33
Форум: Universal Data Access Components
Тема: TUniStoredProc - задаёт всем параметрам NULL
Ответы: 7
Просмотры: 7636

Re: TUniStoredProc - задаёт всем параметрам NULL

Добрый день!
Спасибо за ответ.

Если я правильно понимаю, то UniStoredProc.Prepare соединяется с сервером и запрашивает у него параметры ? Это некий аналог ADO.Parameters.Refresh.

Что бы не обращаться к серверу лишний раз, у нас список параметров ХП закеширован на другом сервере в виде XML файла(С ним также работают другие программы на C#), и повторно кэшируется на клиентском приложении.

Можно сделать так, что UniDAC не запрашивал параметры ?
Valery.B
Чт 07 июл 2016 10:12
Форум: Universal Data Access Components
Тема: Можно ли использовать UniDac как ADO Briefcase ?
Ответы: 5
Просмотры: 6313

Re: Можно ли использовать UniDac как ADO Briefcase ?

Вообще, я хочу что бы получился клон.
Я не знаю, что именно сделает пользователь - удалит, изменит или добавит данные.

Смысл всего этого - пользователь редактирует данные без соединения с БД, а потом вносит изменения в БД.
В ADO и ClientDataSet это было возможно.
Как один из вариантов я пробовал сделать это через BatchMove.

Вот так это делается в ADO: http://www.sql.ru/articles/mssql/2005/122703ado.shtml#7

Возможно ли сделать это в UniDac ?
Valery.B
Ср 06 июл 2016 11:39
Форум: Universal Data Access Components
Тема: TUniStoredProc - задаёт всем параметрам NULL
Ответы: 7
Просмотры: 7636

TUniStoredProc - задаёт всем параметрам NULL

Добрый день.
Есть база MS SQL 2014 и хранимая процедура, которую я пытаюсь вызвать через TUniStoredProc.
Я не заполняю никаких параметров, но ХП выполняется(что значительно усложняет отладку). Хотя должна выдать ошибку.

Как TUniStoredProc получает список параметров ?
Как сделать так, что бы он его не получал и выдавал ошибку в случае отсутствия параметров ?
Valery.B
Пн 04 июл 2016 15:20
Форум: Universal Data Access Components
Тема: Можно ли использовать UniDac как ADO Briefcase ?
Ответы: 5
Просмотры: 6313

Можно ли использовать UniDac как ADO Briefcase ?

Добрый день.

Я хочу сохранить данные из запроса в VirtualTable, и предоставить VirtualTable для редактирования пользователю.
После редактирования, внести изменения в БД.
Можно ли это сделать в UniDac ?

На ADO это делалось примерно так:

Код: Выделить всё

ADOQuery.SaveToFile('C:\File.Bin');
MemDataSet.LoadFromFile('C:\File.Bin');
ADOQuery.Free;
...
ADOQuery.Create;
ADOQuery.SQL.Text : = 'Select * from table1';
ADOQuery.LoadFromFile('C:\File.Bin');
ADOQuery.Post.
Я пытаюсь использовать BatchMove в режиме AppendUpdate, он почти работает, но не может удалять записи.

Код: Выделить всё

B:=TCRBatchMove.Create(nil);
 b.Mode:=bmAppendUpdate;
try
 TempQuery:=TUniQuery.Create(Nil);
  try
   B.Source:=VirtualTable;
   B.Destination:=TempQuery;
   TempQuery.CachedUpdates:=True;
   TempQuery.Connection:=Self.Connection;
   TempQuery.SQL.Text:='Select * from table1';
   TempQuery.Open;
   B.Execute;
   TempQuery.ApplyUpdates;
  Finally
   TempQuery.Free;
  end;
 B.Free