Здравствуйте.
Единственный способ определить наличие рабочего MySQL сервера это попытаться присоединиться к нему.
Найден 51 результат
- Пн 15 апр 2013 12:57
- Форум: MySQL Data Access Components
- Тема: Проверка на mySql
- Ответы: 1
- Просмотры: 4174
- Пт 12 апр 2013 17:31
- Форум: MySQL Data Access Components
- Тема: Перекидка баз MyDamp неполучается.
- Ответы: 31
- Просмотры: 26350
Re: Перекидка баз MyDamp неполучается.
Здравствуйте.
Для чтения и сохранения файлов TMyDump использует стандартный класс TFileStream. TMyDump отображает все ошибки, которые генерирует TFileStream.
Мы провели тестирование описанных вами ситуаций - в каждой из них возникает сообщение об ошибке.
Для чтения и сохранения файлов TMyDump использует стандартный класс TFileStream. TMyDump отображает все ошибки, которые генерирует TFileStream.
Мы провели тестирование описанных вами ситуаций - в каждой из них возникает сообщение об ошибке.
- Пт 05 апр 2013 11:23
- Форум: MySQL Data Access Components
- Тема: UPDATE
- Ответы: 4
- Просмотры: 8588
Re: UPDATE
Здравствуйте.
Обновить запись в таблице вы можете следующими способами.
1) Выполнить SQL запрос через компонент TMyQuery, например:
2) Использовать методы TMyQuery.Edit, TMyQuery.Post, TMyTable.Edit, TMyTable.Post, например:
Обновить запись в таблице вы можете следующими способами.
1) Выполнить SQL запрос через компонент TMyQuery, например:
Код: Выделить всё
MyQuery1.SQL.Clear;
MyQuery1.SQL.Add('update YourTable set YourField = ''NewValue''');
MyQuery1.SQL.Add('where YourField = ''OldValue''');
MyQuery1.ExecSQL;
Код: Выделить всё
MyQuery1.SQL.Text := 'select YourField from YourTable';
MyQuery1.Open;
MyQuery1.Edit;
MyQuery1.FieldByName('YourField').AsString := 'NewValue';
MyQuery1.Post;
- Чт 04 апр 2013 17:22
- Форум: MySQL Data Access Components
- Тема: Время действия отключения внешних ключей?
- Ответы: 1
- Просмотры: 3930
Re: Время действия отключения внешних ключей?
Здравствуйте.
По умолчанию, переменная FOREIGN_KEY_CHECKS имеет локальную область видимости. В этом случае отключение проверки внешних ключей действует в пределах одной сессии до момента, пока вы обратно не включите проверку или не закроете сессию (закроете соединение с сервером).
Если вы хотите, чтобы закрытие соединения не меняло значение переменной FOREIGN_KEY_CHECKS, вы можете менять её с помощью SQL инструкции
Но имейте ввиду, что в этом случае изменение этой переменной повлияет на все существующие подключения, а не только на ваше.
Более подробную информацию об особенностях использования FOREIGN_KEY_CHECKS и глобальной области видимости серверных переменных вы можете прочесть в MySQL Reference Manual.
По умолчанию, переменная FOREIGN_KEY_CHECKS имеет локальную область видимости. В этом случае отключение проверки внешних ключей действует в пределах одной сессии до момента, пока вы обратно не включите проверку или не закроете сессию (закроете соединение с сервером).
Если вы хотите, чтобы закрытие соединения не меняло значение переменной FOREIGN_KEY_CHECKS, вы можете менять её с помощью SQL инструкции
Код: Выделить всё
SET GLOBAL FOREIGN_KEY_CHECKS=0
Более подробную информацию об особенностях использования FOREIGN_KEY_CHECKS и глобальной области видимости серверных переменных вы можете прочесть в MySQL Reference Manual.
- Ср 03 апр 2013 10:42
- Форум: dbForge for PostgreSQL
- Тема: dbForge for PostgreSQL
- Ответы: 22
- Просмотры: 60288
Re: dbForge for PostgreSQL
Здравствуйте.
К сожалению, по вопросу разработки dbForge for PostgreSQL новостей пока нет.
К сожалению, по вопросу разработки dbForge for PostgreSQL новостей пока нет.
- Вт 02 апр 2013 12:31
- Форум: MySQL Data Access Components
- Тема: myconnetion1.ping
- Ответы: 1
- Просмотры: 4144
Re: myconnetion1.ping
Здравствуйте.
Самый простой способ проверить разорвано ли соединение - это отправить через MyDAC любую команду серверу, например TMyConnection.Ping. Если соединение было разорвано, то возникнет ошибка и будет выполнена попытка переподключиться к серверу.
Вы можете использовать TMyConnection.Ping как предложили сами - вызывать его из таймера, а интервал таймера установить в значение немного меньшее чем wait_timeout сервера (что бы интервалы между получениями сервером команд не превышали wait_timeout).
Самый простой способ проверить разорвано ли соединение - это отправить через MyDAC любую команду серверу, например TMyConnection.Ping. Если соединение было разорвано, то возникнет ошибка и будет выполнена попытка переподключиться к серверу.
Вы можете использовать TMyConnection.Ping как предложили сами - вызывать его из таймера, а интервал таймера установить в значение немного меньшее чем wait_timeout сервера (что бы интервалы между получениями сервером команд не превышали wait_timeout).
- Пт 29 мар 2013 11:38
- Форум: MySQL Data Access Components
- Тема: blob непонятная кодировка.
- Ответы: 5
- Просмотры: 9635
Re: blob непонятная кодировка.
Здравствуйте.
Для решения проблемы используйте TField.AsString вместо TField.Text .
Для решения проблемы используйте TField.AsString вместо TField.Text .
- Ср 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, то длина результирующих зашифрованных данных равна длине нешифрованных данных.
Если 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, то длина результирующих зашифрованных данных равна длине нешифрованных данных.
- Пн 18 мар 2013 18:56
- Форум: MySQL Data Access Components
- Тема: Функция Flush( )
- Ответы: 4
- Просмотры: 6423
Re: Функция Flush( )
Пример использования TMyServerControl->Flush :
Код: Выделить всё
TMyFlushTypes FlushParam;
FlushParam << foHosts << foUserResources;
MyServerControl1->Flush(FlushParam);
- Пн 18 мар 2013 13:26
- Форум: MySQL Data Access Components
- Тема: Функция Flush( )
- Ответы: 4
- Просмотры: 6423
Re: Функция Flush( )
Здравствуйте.
Метод TMyServerControl->Flush в качестве параметра принимает переменную типа TMyFlushTypes. Этот тип описан в заголовочном файле MyServerControl.hpp :
TMyServerControl->Flush(FlushTypes); генерирует SQL запрос FLUSH с перечнем параметров, соответствующих FlushTypes.
Более детальную информации о FLUSH инструкции и значении его параметров вы можете прочесть в MySQL Reference Manual:
http://www.mysql.ru/docs/man/FLUSH.html
Метод TMyServerControl->Flush в качестве параметра принимает переменную типа TMyFlushTypes. Этот тип описан в заголовочном файле MyServerControl.hpp :
Код: Выделить всё
enum TMyFlushType { foHosts, foDesKeyFile, foLogs, foPrivileges, foQueryCache,
foTables, foStatus, foUserResources };
typedef Set<TMyFlushType, foHosts, foUserResources> TMyFlushTypes;
Более детальную информации о FLUSH инструкции и значении его параметров вы можете прочесть в MySQL Reference Manual:
http://www.mysql.ru/docs/man/FLUSH.html
- Вт 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
Да, вы можете использовать ваш способ. Но имейте ввиду, что опция FieldsAsString влияет на все поля, и вам может понадобиться выполнять такую перекодировку для каждого текстового поля.
Поскольку в данном случае вам нужно изменять вывод лишь одного zerofill int поля, то правильным решением будет использовать конвертацию поля непосредственно в SQL запросе:
select convert(YourFieldName,char) as YourFieldName from YourTable
- Чт 28 фев 2013 12:39
- Форум: Universal Data Access Components
- Тема: zerofill int
- Ответы: 3
- Просмотры: 4357
Re: zerofill int
Здравствуйте.
Для решения проблемы вы можете использовать один из способов.
1) В TUniQuery.SpecificOptions установить в True опцию FiledAsString :Если эта опция активна, то все поля воспринимаются как строковые.
2) Использовать sql запрос с sql функцией convert которая будет преобразовывать ваше int zerofill поле в строку, например
Для решения проблемы вы можете использовать один из способов.
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
- Ср 27 фев 2013 13:56
- Форум: Universal Data Access Components
- Тема: Thread для unidac
- Ответы: 5
- Просмотры: 5476
Re: Thread для unidac
Здравствуйте.
Эта часть сообщения - " , .. ." - возвращается стандартной функцией SysErrorMessage(ErrorCode). Эта функция возвращает строку стандартного сообщения об ошибке для кода ошибки Win32 API, переданного в параметре ErrorCode. Возможно в вашей системе нет описания для ошибки с кодом 10061.
Эта часть сообщения - " , .. ." - возвращается стандартной функцией SysErrorMessage(ErrorCode). Эта функция возвращает строку стандартного сообщения об ошибке для кода ошибки Win32 API, переданного в параметре ErrorCode. Возможно в вашей системе нет описания для ошибки с кодом 10061.
- Чт 21 фев 2013 12:53
- Форум: MySQL Data Access Components
- Тема: TMyEncryptor
- Ответы: 8
- Просмотры: 11042
Re: TMyEncryptor
Здравствуйте.
Пример использования TMyEncryptor :
В базе данных поле CO_PASS будет зашифровано, но через MyTable1 оно будет выглядеть расшифрованным, так как к MyTable1 подключён настроенный TMyEncryptor.
Ошибка "дублирование данных" может возникать из-за того, что вы пытаетесь добавить запись с не уникальным значением в поле CO_NAME (которое в вашей таблице создано как UNIQUE).
Пример использования 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_NAME (которое в вашей таблице создано как UNIQUE).
- Чт 21 фев 2013 11:13
- Форум: Universal Data Access Components
- Тема: Thread для unidac
- Ответы: 5
- Просмотры: 5476
Re: Thread для unidac
Здравствуйте.
Если вы вызываете TuniConnection.Open в отдельном потоке без синхронизации с основным, то основной поток не должен подвисать. Пожалуйста более детально опишите какие проблемы возникают при открытии соединения из отдельного потока.
Если вы вызываете TuniConnection.Open в отдельном потоке без синхронизации с основным, то основной поток не должен подвисать. Пожалуйста более детально опишите какие проблемы возникают при открытии соединения из отдельного потока.