I try to port a component package made with Delphi 2007 to Delphi XE5. Got this:

I try to port a component package made with Delphi 2007 to Delphi XE5. Got this:

[dcc32 Fatal Error] AttracsComponents2007.dpk(70): E2202 Required package 'DbxDynalinkDriver' not found.

Any hint what to do ?

Comments

  1. The question I would ask would be why that package is required (ie what component(s) are in it that is required) and where have those component(s) have been moved to (which package now required)

    ReplyDelete
  2. I have compared. In D2007 DbxDynalinkDriver.dcp is in C:\Program Files (x86)\CodeGear\RAD Studio\5.0\lib. In XE5 I searched C:\Program Files (x86)\Embarcadero\RAD Studio\12.0 and all subfolders for DbxDynalinkDriver and found nothing. I tried to compare dbxDrivers.ini and there is differences.

    Delphi 2007:
    [MSSQL]
    SchemaOverride=%.dbo
    DriverUnit=DBXDynalink
    DriverPackageLoader=TDBXDynalinkDriverLoader,DBXDynalinkDriver100.bpl
    DriverAssemblyLoader=Borland.Data.TDBXDynalinkDriverLoader,Borland.Data.DbxDynalinkDriver,Version=11.0.5000.0,Culture=neutral,PublicKeyToken=91d62ebb5b0d1b1b
    MetaDataPackageLoader=TDBXMsSqlMetaDataCommandFactory,DbxReadOnlyMetaData100.bpl
    MetaDataAssemblyLoader=Borland.Data.TDBXMsSqlMetaDataCommandFactory,Borland.Data.DbxReadOnlyMetaData,Version=11.0.5000.0,Culture=neutral,PublicKeyToken=91d62ebb5b0d1b1b
    GetDriverFunc=getSQLDriverMSSQL
    LibraryName=dbxmss30.dll
    VendorLib=oledb
    HostName=ServerName
    DataBase=Database Name
    User_Name=user
    Password=password
    BlobSize=-1
    ErrorResourceFile=
    LocaleCode=0000
    MSSQL TransIsolation=ReadCommited
    OS Authentication=False
    Prepare SQL=False

    Delphi XE5
    [MSSQL]
    SchemaOverride=%.dbo
    DriverUnit=Data.DBXMSSQL
    DriverPackageLoader=TDBXDynalinkDriverLoader,DBXCommonDriver190.bpl
    DriverAssemblyLoader=Borland.Data.TDBXDynalinkDriverLoader,Borland.Data.DbxCommonDriver,Version=19.0.0.0,Culture=neutral,PublicKeyToken=91d62ebb5b0d1b1b
    MetaDataPackageLoader=TDBXMsSqlMetaDataCommandFactory,DbxMSSQLDriver190.bpl
    MetaDataAssemblyLoader=Borland.Data.TDBXMsSqlMetaDataCommandFactory,Borland.Data.DbxMSSQLDriver,Version=19.0.0.0,Culture=neutral,PublicKeyToken=91d62ebb5b0d1b1b
    GetDriverFunc=getSQLDriverMSSQL
    LibraryName=dbxmss.dll
    VendorLib=sqlncli10.dll
    VendorLibWin64=sqlncli10.dll
    HostName=ServerName
    DataBase=Database Name
    User_Name=user
    Password=password
    BlobSize=-1
    ErrorResourceFile=
    LocaleCode=0000
    IsolationLevel=ReadCommitted
    OS Authentication=False
    Prepare SQL=False

    [MSSQL9]
    SchemaOverride=%.dbo
    DriverUnit=DBXMSSQL
    DriverPackageLoader=TDBXDynalinkDriverLoader,DBXCommonDriver190.bpl
    DriverAssemblyLoader=Borland.Data.TDBXDynalinkDriverLoader,Borland.Data.DbxCommonDriver,Version=19.0.0.0,Culture=neutral,PublicKeyToken=91d62ebb5b0d1b1b
    MetaDataPackageLoader=TDBXMsSqlMetaDataCommandFactory,DbxMSSQLDriver190.bpl
    MetaDataAssemblyLoader=Borland.Data.TDBXMsSqlMetaDataCommandFactory,Borland.Data.DbxMSSQLDriver,Version=19.0.0.0,Culture=neutral,PublicKeyToken=91d62ebb5b0d1b1b
    GetDriverFunc=getSQLDriverMSSQL
    LibraryName=dbxmss9.dll
    VendorLib=sqlncli.dll
    VendorLibWin64=sqlncli.dll
    HostName=ServerName
    DataBase=Database Name
    User_Name=user
    Password=password
    BlobSize=-1
    ErrorResourceFile=
    LocaleCode=0000
    IsolationLevel=ReadCommitted
    OS Authentication=False
    Prepare SQL=False

    So both [MSSQL] and [MSSQL9]. MSSQL9 is MSSQL 2005 if I am correct. We use MSSQL 2008 and 2012 as database.

    But still not sure how to set this up correctly.

    ReplyDelete
  3. As a suggestion, since you have a reference (from D2007), check inside the dcp to see what components are in it and then search XE5 for those component(s) reference in a dcp file

    ReplyDelete
  4. Try replacing DbxDynalinkDriver with DBXCommonDriver in your requires clause.

    ReplyDelete
  5. Remove that package from the required clause of the package and let the IDE figure out which units it needs and which package contains it.

    ReplyDelete
  6. Ondrej, thanks! DBXCommonDriver seems to be the right one. But there are still tons of errors before I can compile it...

    ReplyDelete

Post a Comment