C++ Builder XE, dbExpress с MySQL 5.x

Я пытаюсь заставить dbExpress TSQLConnection работать с сервером MySQL 5.x. Я искал в сети, но не нашел полезной инструкции для C++ Builder XE.

Я загрузил драйвер dbxopenmysql50.dll из просто программных решений и следовал инструкциям на их сайте.

Я загрузил libmysql.dll из mysql и поместил dll в папку bin C++ Builder XE и отредактировал dbxdrivers.ini для использования новых DLL.

В среде IDE, когда я устанавливаю для свойства TSQLConnection значение true, происходит сбой dbxopenmysql50.dll с Access Violation in address бла-бла-бла...

Меня не волнуют мои текущие настройки, но есть ли КТО-НИБУДЬ, у кого это работает? Как вы заставили это работать? Подскажите, пожалуйста, где скачать бесплатные рабочие библиотеки DLL для dbExpress с MySQL 5.x.

Вот еще информация об ошибке:

"Access violation in address 10395D99 in module 'dbxopenmysql50.dll'. Read of address 0275C8D".

Подробный дамп из диалогового окна C++ Builder XE Error.

(00004D99){dbxopenmysql50.dll} [10395D99]
[50037560]{rtl150.bpl  } System.@FreeMem (Line 3768, "System.pas" + 20) + $0
[500415CF]{rtl150.bpl  } System.LocaleCharsFromUnicode (Line 29632, "System.pas" + 1) + $17
[50052A6C]{rtl150.bpl  } SysUtils.StrPosLen (Line 9617, "SysUtils.pas" + 8) + $13
[5003D9B4]{rtl150.bpl  } System.@UStrDelete (Line 22863, "System.pas" + 10) + $5
[50037560]{rtl150.bpl  } System.@FreeMem (Line 3768, "System.pas" + 20) + $0
[5003C0B0]{rtl150.bpl  } System.@UStrClr (Line 16968, "System.pas" + 14) + $0
[500A0F89]{rtl150.bpl  } Classes.TStrings.GetValueFromIndex (Line 5756, "Classes.pas" + 12) + $10
[51D1B35B]{DbxCommonDriver150.bpl} Dbxdynalink.TDBXDynalinkDriverCommonLoader.LoadDriverLibraryAndMethodTable + $E3
[51D1AFE9]{DbxCommonDriver150.bpl} Dbxdynalink.TDBXDynalinkDriver.LoadDriver + $35
[51D1DCD8]{DbxCommonDriver150.bpl} Dbxdynalinknative.TDBXDynalinkDriverNative.CreateConnection + $C
[51CF0C19]{DbxCommonDriver150.bpl} Dbxcommon.TDBXDelegateDriver.CreateConnection + $5
[51CF6666]{DbxCommonDriver150.bpl} Dbxcommon.TDBXConnectionBuilder.CreateConnection + $B6
[51CE7B5C]{DbxCommonDriver150.bpl} Dbxcommon.TDBXConnectionFactory.GetConnection + $E8
[51CE7A6D]{DbxCommonDriver150.bpl} Dbxcommon.TDBXConnectionFactory.GetConnection + $5
[50FFC77F]{dbexpress150.bpl} SqlExpr.TSQLConnection.DoConnect (Line 2537, "SqlExpr.pas" + 52) + $5
[5070E10D]{dbrtl150.bpl} DB.TCustomConnection.SetConnected (Line 3167, "DB.pas" + 8) + $4
[50089A3E]{rtl150.bpl  } TypInfo.SetOrdProp (Line 1791, "TypInfo.pas" + 28) + $0
[2105A0A6]{designide150.bpl} DesignEditors.TPropertyEditor.SetOrdValue (Line 841, "DesignEditors.pas" + 2) + $E
[2109E55B]{designide150.bpl} VCLEditors.TBooleanProperty.MouseUp (Line 1840, "VCLEditors.pas" + 5) + $10
[21194BD9]{vclide150.bpl} PropBox.TCustomPropListBox.ItemMouseUp (Line 1625, "PropBox.pas" + 16) + $1B
[21194DCF]{vclide150.bpl} PropBox.TCustomPropListBox.MouseUp (Line 1690, "PropBox.pas" + 1) + $D
[5027E90C]{vcl150.bpl  } Controls.TControl.DoMouseUp (Line 7318, "Controls.pas" + 2) + $28
[5027E988]{vcl150.bpl  } Controls.TControl.WMLButtonUp (Line 7331, "Controls.pas" + 9) + $6
[2119A4C0]{vclide150.bpl} IDEInspListBox.TInspListBox.WMLButtonUp (Line 1631, "IDEInspListBox.pas" + 3) + $4
[5027DF6C]{vcl150.bpl  } Controls.TControl.WndProc (Line 7074, "Controls.pas" + 91) + $6
[06D19928]{AQtime7BDS8.bpl} Aqsyncedit.TaqEditPainter.HasHintInfo + $9B8
[502820C3]{vcl150.bpl  } Controls.TWinControl.IsControlMouseMsg (Line 9608, "Controls.pas" + 1) + $9
[50282830]{vcl150.bpl  } Controls.TWinControl.WndProc (Line 9831, "Controls.pas" + 144) + $6
[502B8409]{vcl150.bpl  } StdCtrls.TCustomListBox.WndProc (Line 6217, "StdCtrls.pas" + 54) + $6
[50281ED0]{vcl150.bpl  } Controls.TWinControl.MainWndProc (Line 9552, "Controls.pas" + 3) + $6
[500AFA64]{rtl150.bpl  } Classes.StdWndProc (Line 13491, "Classes.pas" + 8) + $0
[50358AF7]{vcl150.bpl  } Forms.TApplication.ProcessMessage (Line 9760, "Forms.pas" + 23) + $1
[50358B3A]{vcl150.bpl  } Forms.TApplication.HandleMessage (Line 9790, "Forms.pas" + 1) + $4
[50358E65]{vcl150.bpl  } Forms.TApplication.Run (Line 9927, "Forms.pas" + 26) + $3

Заранее спасибо.


person Max Kielland    schedule 07.12.2011    source источник
comment
Нарушение прав доступа в адресе бла-бла-бла не помогает. Если вы не можете приложить усилия, чтобы предоставить фактическое сообщение об ошибке, довольно трудно захотеть приложить усилия, чтобы попытаться помочь вам решить эту проблему. :)   -  person Ken White    schedule 07.12.2011
comment
@Кен Уайт. Я обновил вопрос.   -  person Max Kielland    schedule 07.12.2011


Ответы (1)


У меня DBExpress отлично работает с MySQL 5.1 в Delphi 2010. Поэтому попробуйте поместить libMySQL.DLL в каталог exe, это может помочь, так как это первое место, где он будет выглядеть. проверьте, нужны ли вам какие-либо другие DLL (мне также нужна была dbxmys.dll, но работающая с MySQL) Установите параметры в соответствии с вашим сервером MySQL - (Localhost, MyDBName, MyUSerName MyPasswd), затем попробуйте подключиться в среде IDE. Меня устраивает! Крис

person ChrisH    schedule 07.03.2012
comment
Откуда вы скачали библиотеки dbExpress и MySQL (DLL)? - person Max Kielland; 06.06.2013
comment
Они поставляются с версией Delphi 2010 PRO. - person ChrisH; 08.11.2013