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 ?
[dcc32 Fatal Error] AttracsComponents2007.dpk(70): E2202 Required package 'DbxDynalinkDriver' not found.
Any hint what to do ?
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)
ReplyDeleteI 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.
ReplyDeleteDelphi 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.
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
ReplyDeleteTry replacing DbxDynalinkDriver with DBXCommonDriver in your requires clause.
ReplyDeleteRemove that package from the required clause of the package and let the IDE figure out which units it needs and which package contains it.
ReplyDeleteOndrej, thanks! DBXCommonDriver seems to be the right one. But there are still tons of errors before I can compile it...
ReplyDelete