Topic: Проблемма соединения с MySQL 4.0.18
|
|
balrog
User
 Fresh Boarder
| Posts: 3 |   | Karma: 0 |
|
Проблемма соединения с MySQL 4.0.18
|
|
Posted: 2007/10/18 23:22 |
|
|
|
|
ADConnection1 - в Properties установлено CharacterSet=cp1251
При попытке подключения к сабж'у выдается ошибка '... unknown system variable NAMES' - действительно, 4.0.18 сервер не понимает команды set names ... а в модуле daADPhysMySQLWrapper.pas при подключении вызывается SetCharacterSetName в которой написано ... iRes := FLib.mysql_set_character_set(FPMySQL, PChar(AValue)); if iRes <> 0 then Query('SET NAMES ' + AValue); ...
я понимаю - убрать данный запрос для версий < 4.1 не проблемма, вовпрос в другом - как установить чарсет для подключений к версии <4.1 ?
Post edited by: balrog, at: 2007/10/18 23:26
|
|
Diman
Admin
 Admin
| Posts: 1478 |  | Karma: 18 |
|
Re:Проблемма соединения с MySQL 4.0.18
|
|
Posted: 2007/10/18 23:57 |
|
|
|
|
Привет
Откройте daADPhysMySQLWrapper и замените метода на:
procedure TMySQLSession.SetCharacterSetName(const AValue: String);
var
iRes: Integer;
begin
iRes := -1;
if Assigned(FLib.mysql_set_character_set) then begin
{$IFDEF AnyDAC_MONITOR}
if Tracing then
Trace(smysql_set_character_set, ['cs_name', AValue]);
{$ENDIF}
iRes := FLib.mysql_set_character_set(FPMySQL, PChar(AValue));
end;
if iRes <> 0 then
if ADVerStr2Int(ServerInfo) >= mvMySQL040100 then
Query('SET NAMES ''' + AValue + '''')
else
Query('SET CHARACTER SET ' + AValue);
FCharsetName := AValue;
end;
|
удачи,
Дмитрий
|
|
balrog
User
 Fresh Boarder
| Posts: 3 |   | Karma: 0 |
|
Re:Проблемма соединения с MySQL 4.0.18
|
|
Posted: 2007/10/19 00:09 |
|
|
|
|
|
Ага, я уже пробовал нечто подобное, но при попытке сделать set character set cp1251, сервак возвращал ошибку unknown character set :'cp1251'
|
|
Diman
Admin
 Admin
| Posts: 1478 |  | Karma: 18 |
|
Re:Проблемма соединения с MySQL 4.0.18
|
|
Posted: 2007/10/19 00:15 |
|
|
|
|
Мне другого предложить нечего. Если не поддерживает, значит не поддерживает. Скорее всего необходимо пересобрать mysqld. На эту тему лучше обратиться на форум на sql.ru / mysq.com и к документации.
Удачи, Дмитрий
|
|
balrog
User
 Fresh Boarder
| Posts: 3 |   | Karma: 0 |
|
Re:Проблемма соединения с MySQL 4.0.18
|
|
Posted: 2007/10/19 00:27 |
|
|
|
|
попробовал просто убрать
if iRes <> 0 then if ADVerStr2Int(ServerInfo) >= mvMySQL040100 then Query('SET NAMES ''' + AValue + '''') FCharsetName := AValue;
как ни странно получилось - все в норме и возвращает читаемую кирилицу. спасибо за ответ
|
|
|