【问题标题】:C++ Builder XE, dbExpress with MySQL 5.xC++ Builder XE,带有 MySQL 5.x 的 dbExpress
【发布时间】:2011-12-07 15:23:51
【问题描述】:

我正在尝试让 dbExpress TSQLConnection 与 MySQL 5.x 服务器一起使用。 我已经搜索了网络,但没有找到任何关于 C++ Builder XE 的有用说明。

我从just software solutions 下载了dbxopenmysql50.dll 驱动程序,并按照他们网站上的说明进行操作。

我从 mysql 下载了 libmysql.dll 并将 dll 放在 C++ Builder XE 的 bin 文件夹中,并编辑了 dbxdrivers.ini 以使用新的 DLL。

在 IDE 中,当我将 TSQLConnection 属性设置为 true 时,dbxopenmysql50.dll 崩溃,Access Violation in address bla bla bla...

我不关心我当前的设置,但是有没有人有这个工作? 你是怎么让它工作的?请指导我在哪里下载用于 MySQL 5.x 的 dbExpress 的免费工作 DLL

这里有更多错误信息:

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

来自 C++ Builder XE 错误对话框的详细转储。

(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

提前致谢。

【问题讨论】:

  • “地址 bla bla bla 中的访问冲突”没有帮助。如果您不能努力提供实际的错误消息,那么很难想努力帮助您解决它。 :)
  • @Ken White。我更新了问题。

标签: mysql c++builder dbexpress c++builder-xe


【解决方案1】:

我让 DBExpress 在 Delphi 2010 中与 MySQL 5.1 一起正常工作。 因此,尝试将 libMySQL.DLL 放在您的 exe 目录中可能会有所帮助,因为这是它将首先出现的位置。 检查您是否需要任何其他 DLL(我也需要 dbxmys.dll,但使用 MySQL) 设置参数以适合您的 MySQL 服务器 - (Localhost, MyDBName, MyUSerName MyPasswd) 然后尝试在 IDE 中连接。这个对我有用! 克里斯

【讨论】:

  • 您从哪里下载了 dbExpress 和 MySQL 库 (DLL)?
  • 它们带有 Delphi 2010 PRO 版本
猜你喜欢
  • 1970-01-01
  • 2017-11-17
  • 2016-05-27
  • 1970-01-01
  • 1970-01-01
  • 2023-04-07
  • 1970-01-01
  • 2012-05-24
  • 2012-01-27
相关资源
最近更新 更多