Найден 51 результат

DemetrionQ
Пн 15 апр 2013 12:57
Форум: MySQL Data Access Components
Тема: Проверка на mySql
Ответы: 1
Просмотры: 4174

Re: Проверка на mySql

Здравствуйте.

Единственный способ определить наличие рабочего MySQL сервера это попытаться присоединиться к нему.
DemetrionQ
Пт 12 апр 2013 17:31
Форум: MySQL Data Access Components
Тема: Перекидка баз MyDamp неполучается.
Ответы: 31
Просмотры: 26350

Re: Перекидка баз MyDamp неполучается.

Здравствуйте.

Для чтения и сохранения файлов TMyDump использует стандартный класс TFileStream. TMyDump отображает все ошибки, которые генерирует TFileStream.

Мы провели тестирование описанных вами ситуаций - в каждой из них возникает сообщение об ошибке.
DemetrionQ
Пт 05 апр 2013 11:23
Форум: MySQL Data Access Components
Тема: UPDATE
Ответы: 4
Просмотры: 8588

Re: UPDATE

Здравствуйте.

Обновить запись в таблице вы можете следующими способами.

1) Выполнить SQL запрос через компонент TMyQuery, например:

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

  MyQuery1.SQL.Clear;
  MyQuery1.SQL.Add('update YourTable set YourField = ''NewValue''');
  MyQuery1.SQL.Add('where YourField = ''OldValue''');
  MyQuery1.ExecSQL;
2) Использовать методы TMyQuery.Edit, TMyQuery.Post, TMyTable.Edit, TMyTable.Post, например:

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

  MyQuery1.SQL.Text := 'select YourField from YourTable';
  MyQuery1.Open;
  MyQuery1.Edit;
  MyQuery1.FieldByName('YourField').AsString := 'NewValue';
  MyQuery1.Post;
DemetrionQ
Чт 04 апр 2013 17:22
Форум: MySQL Data Access Components
Тема: Время действия отключения внешних ключей?
Ответы: 1
Просмотры: 3930

Re: Время действия отключения внешних ключей?

Здравствуйте.

По умолчанию, переменная FOREIGN_KEY_CHECKS имеет локальную область видимости. В этом случае отключение проверки внешних ключей действует в пределах одной сессии до момента, пока вы обратно не включите проверку или не закроете сессию (закроете соединение с сервером).
Если вы хотите, чтобы закрытие соединения не меняло значение переменной FOREIGN_KEY_CHECKS, вы можете менять её с помощью SQL инструкции

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

SET GLOBAL FOREIGN_KEY_CHECKS=0
Но имейте ввиду, что в этом случае изменение этой переменной повлияет на все существующие подключения, а не только на ваше.
Более подробную информацию об особенностях использования FOREIGN_KEY_CHECKS и глобальной области видимости серверных переменных вы можете прочесть в MySQL Reference Manual.
DemetrionQ
Ср 03 апр 2013 10:42
Форум: dbForge for PostgreSQL
Тема: dbForge for PostgreSQL
Ответы: 22
Просмотры: 60288

Re: dbForge for PostgreSQL

Здравствуйте.

К сожалению, по вопросу разработки dbForge for PostgreSQL новостей пока нет.
DemetrionQ
Вт 02 апр 2013 12:31
Форум: MySQL Data Access Components
Тема: myconnetion1.ping
Ответы: 1
Просмотры: 4144

Re: myconnetion1.ping

Здравствуйте.

Самый простой способ проверить разорвано ли соединение - это отправить через MyDAC любую команду серверу, например TMyConnection.Ping. Если соединение было разорвано, то возникнет ошибка и будет выполнена попытка переподключиться к серверу.
Вы можете использовать TMyConnection.Ping как предложили сами - вызывать его из таймера, а интервал таймера установить в значение немного меньшее чем wait_timeout сервера (что бы интервалы между получениями сервером команд не превышали wait_timeout).
DemetrionQ
Пт 29 мар 2013 11:38
Форум: MySQL Data Access Components
Тема: blob непонятная кодировка.
Ответы: 5
Просмотры: 9635

Re: blob непонятная кодировка.

Здравствуйте.

Для решения проблемы используйте TField.AsString вместо TField.Text .
DemetrionQ
Ср 20 мар 2013 14:27
Форум: MySQL Data Access Components
Тема: TMyEncryptor
Ответы: 8
Просмотры: 11042

Re: TMyEncryptor

Здравствуйте.

Если TMyEncryptor.DataHeader равен ehTagAndHash или ehTag, то длину результирующих данных можно рассчитать по следующей формуле:
ResultLength = (GUIDLength + IVLength + CipherLength) * SymbolSize;
CipherLength = (((8 + DataLength + HashLength) / BlockSize) + 1) * BlockSize;
где
GUIDLength = 16;
IVLength = 8;
DataLength - длина исходных данных;
HashLen - длина хэша, 16 байт для алгоритма MD5 и 20 байт для SHA1, добавляется к результату если TMyEncryptor.DataHeader = ehTagAndHash;
BlockSize - размер блока используемого алгоритма шифрования;
SymbolSize = 2, если данные на сервере хранятся в строковом поле (так как данные дополнительно конвертируются в HEX-строку), = 1 для бинарных полей.

Если TMyEncryptor.DataHeader равен ehNone, то длина результирующих зашифрованных данных равна длине нешифрованных данных.
DemetrionQ
Пн 18 мар 2013 18:56
Форум: MySQL Data Access Components
Тема: Функция Flush( )
Ответы: 4
Просмотры: 6423

Re: Функция Flush( )

Пример использования TMyServerControl->Flush :

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

  TMyFlushTypes FlushParam;
  FlushParam << foHosts << foUserResources;
  MyServerControl1->Flush(FlushParam);
DemetrionQ
Пн 18 мар 2013 13:26
Форум: MySQL Data Access Components
Тема: Функция Flush( )
Ответы: 4
Просмотры: 6423

Re: Функция Flush( )

Здравствуйте.

Метод TMyServerControl->Flush в качестве параметра принимает переменную типа TMyFlushTypes. Этот тип описан в заголовочном файле MyServerControl.hpp :

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

enum TMyFlushType { foHosts, foDesKeyFile, foLogs, foPrivileges, foQueryCache,
  foTables, foStatus, foUserResources };
typedef Set<TMyFlushType, foHosts, foUserResources>  TMyFlushTypes;
TMyServerControl->Flush(FlushTypes); генерирует SQL запрос FLUSH с перечнем параметров, соответствующих FlushTypes.
Более детальную информации о FLUSH инструкции и значении его параметров вы можете прочесть в MySQL Reference Manual:
http://www.mysql.ru/docs/man/FLUSH.html
DemetrionQ
Вт 05 мар 2013 12:53
Форум: Universal Data Access Components
Тема: zerofill int
Ответы: 3
Просмотры: 4357

Re: zerofill int

Здравствуйте.

Да, вы можете использовать ваш способ. Но имейте ввиду, что опция FieldsAsString влияет на все поля, и вам может понадобиться выполнять такую перекодировку для каждого текстового поля.

Поскольку в данном случае вам нужно изменять вывод лишь одного zerofill int поля, то правильным решением будет использовать конвертацию поля непосредственно в SQL запросе:
select convert(YourFieldName,char) as YourFieldName from YourTable
DemetrionQ
Чт 28 фев 2013 12:39
Форум: Universal Data Access Components
Тема: zerofill int
Ответы: 3
Просмотры: 4357

Re: zerofill int

Здравствуйте.

Для решения проблемы вы можете использовать один из способов.

1) В TUniQuery.SpecificOptions установить в True опцию FiledAsString :

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

UniQuery1.SpecificOptions.Values['MySQL.FieldsAsString']:='True';
Если эта опция активна, то все поля воспринимаются как строковые.

2) Использовать sql запрос с sql функцией convert которая будет преобразовывать ваше int zerofill поле в строку, например

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

select convert(YourFieldName,char) as YourFieldName from YourTable
DemetrionQ
Ср 27 фев 2013 13:56
Форум: Universal Data Access Components
Тема: Thread для unidac
Ответы: 5
Просмотры: 5476

Re: Thread для unidac

Здравствуйте.

Эта часть сообщения - " , .. ." - возвращается стандартной функцией SysErrorMessage(ErrorCode). Эта функция возвращает строку стандартного сообщения об ошибке для кода ошибки Win32 API, переданного в параметре ErrorCode. Возможно в вашей системе нет описания для ошибки с кодом 10061.
DemetrionQ
Чт 21 фев 2013 12:53
Форум: MySQL Data Access Components
Тема: TMyEncryptor
Ответы: 8
Просмотры: 11042

Re: TMyEncryptor

Здравствуйте.

Пример использования TMyEncryptor :

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

	MyTable1->Encryption->Fields="CO_PASS";
	MyTable1->Encryption->Encryptor->Password=1234;
	MyTable1->Open();
	MyTable1->Append();
	MyTable1->FieldByName("CO_NAME")->AsString="pass";
	MyTable1->FieldByName("CO_PASS")->AsString="password";
	MyTable1->Post();
В базе данных поле CO_PASS будет зашифровано, но через MyTable1 оно будет выглядеть расшифрованным, так как к MyTable1 подключён настроенный TMyEncryptor.

Ошибка "дублирование данных" может возникать из-за того, что вы пытаетесь добавить запись с не уникальным значением в поле CO_NAME (которое в вашей таблице создано как UNIQUE).
DemetrionQ
Чт 21 фев 2013 11:13
Форум: Universal Data Access Components
Тема: Thread для unidac
Ответы: 5
Просмотры: 5476

Re: Thread для unidac

Здравствуйте.

Если вы вызываете TuniConnection.Open в отдельном потоке без синхронизации с основным, то основной поток не должен подвисать. Пожалуйста более детально опишите какие проблемы возникают при открытии соединения из отдельного потока.