dbExpress a (strange) solution ?
I found a way which seems to work... well, I can now build a SQL on a
Interbase server using
dbExpress (and print a report !). All the previous exceptions seem for the
moment disapeared.
Designer.DataSettings :
A TppDataDictionary must be assigned.
UseDatadictionary must be true.
DataDictionary :
ValidateFieldNames must be False.
ValidateTableNames must be False.
Regards
Marc
Interbase server using
dbExpress (and print a report !). All the previous exceptions seem for the
moment disapeared.
Designer.DataSettings :
A TppDataDictionary must be assigned.
UseDatadictionary must be true.
DataDictionary :
ValidateFieldNames must be False.
ValidateTableNames must be False.
Regards
Marc
This discussion has been closed.
Comments
only the dictionary assignment different? I still think you had a
configuration problem with the dbExpress connection settings, if you
couldn't get a simple button based TSQLConnection.GetTableNames demo to work
before.
You should be able to disconnect the data dictionary and it should work. How
do you think the data dictionary builder is able to get the tablenames?-It
uses the SQLConnection at Delphi design time. You must be changing some
setting somewhere at runtime so that the SQLConnection fails at runtime.
Have you verified that you only have one Interbase driver definition in your
dbxDrivers.ini file and that you aren't using two different ones? Everything
is working fine in our tests here. If you could describe the environment in
its entirety, perhaps I could reproduce the problem. If I could reproduce
the problem on my machine using your suggestions, then maybe then there
could be more checks added in our code, as you say you get access
violations, so that this doesn't happen and you can get an appropriate
exception raised instead which can help you track down the problem.
Cheers,
Jim Bennett
Digital Metaphors
http://www.digital-metaphors.com
info@digital-metaphors.com
First sorry for the different thread.
Well, to obtain those kind of result I had to modify the
daDbExpress.GetTableNames as wrote above.
My connection parameters are exactly the same as yours.
I only have one Interbase driver in my dbxDrivers.ini.
But...
On my system 2 dbexpint.dll are present (?).
One in the windows sytem dir and another in the delphi lib dir.
They are different (size and date).
After changing the older one, GetTableNames seems to work.
The tables can be displayed.
A query seems to be build in RB without SQL statement error.
A problem is still present :
switching between use/not use datadictionay at runtime doesn't work :
The Tables and the Fields remain the same, only the Joins seem to be
affected.
(same problem with desktop database as paradox).
Many thanks for your help.
I will try to advise you a better and understanding message.
Regards
Marc
Sure now the GetTableNames procedure works properly,
I had a conflict between the two dxexpint.dlls on my system.
Sure also that switching at runtime between use/not use DataDictionary
doesn't work.
RB keep the design time designer.datasettings.
Ex :
At design time UseDatadictionary=true
The COUNTRY table does'nt belong to the dictionary.
I run the demo app.
DataTab File/New
Only the tables of the dictionary are present, it is correct
File/DataSettings-> do not use the dictionary
File/New
Only the tables of the dictionary are present, it is not correct.
What do you think of this ?
Below you will find the complete MyEURpt.dfm
Sorry it is a bit long, but if you find sommething not correct...
Thanks
Regards
Marc
object myEndUserSolution: TmyEndUserSolution
Left = 297
Top = 91
AutoScroll = False
Caption = 'End-User Reporting: InterBase via dbExpress'
ClientHeight = 579
ClientWidth = 426
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
Icon.Data = {
0000010001002020100000000000E80200001600000028000000200000004000
0000010004000000000080020000000000000000000000000000000000000000
0000000080000080000000808000800000008000800080800000C0C0C0008080
80000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000884000000000000
000083BBBBB34003BBBBB800000000000004BBBBBBBB308BBBBBBB0000000000
00003BBBBBB3403BBBBBB3000000000000000BBBBBB404BBBBBB300000000000
000003BBBBB008BBBBBB800000000000000003BBBBB003BBBBBB000000000000
000003BBBBB48BBBBBB3000000000000000003BBBBBBBBBBBB30000000000000
000003BBBBBBBBBBB800000000000000000003BBBBB33BBBBB80000000000000
000003BBBBB003BBBBB4000000000000000003BBBBB003BBBBB8000000000000
000003BBBBB003BBBBB300000000000000000BBBBBB84BBBBBB8000000000000
00043BBBBBBBBBBBBBB00000000000000004BBBBBBBBBBBBB340000000000000
0000433888883338400000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000FFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8FFFF00
603FFE00403FFF00403FFF80807FFF81807FFF8180FFFF8000FFFF8001FFFF80
03FFFF8001FFFF8180FFFF8180FFFF8180FFFF8000FFFE0001FFFE0001FFFF00
07FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF}
OldCreateOrder = True
Position = poScreenCenter
ShowHint = True
OnCreate = FormCreate
PixelsPerInch = 96
TextHeight = 13
object Shape20: TShape
Left = 181
Top = 362
Width = 2
Height = 25
HelpType = htKeyword
Brush.Style = bsClear
Pen.Width = 2
Shape = stRoundRect
Visible = False
end
object Shape7: TShape
Left = 222
Top = 327
Width = 38
Height = 2
HelpType = htKeyword
Brush.Style = bsClear
Pen.Width = 2
Shape = stRoundRect
Visible = False
end
object Shape26: TShape
Left = 181
Top = 258
Width = 2
Height = 81
HelpType = htKeyword
Brush.Style = bsClear
Pen.Width = 2
Shape = stRoundRect
Visible = False
end
object Shape25: TShape
Left = 93
Top = 220
Width = 56
Height = 2
HelpType = htKeyword
Brush.Style = bsClear
Pen.Width = 2
Shape = stRoundRect
Visible = False
end
object Shape24: TShape
Left = 94
Top = 263
Width = 56
Height = 2
HelpType = htKeyword
Brush.Style = bsClear
Pen.Width = 2
Shape = stRoundRect
Visible = False
end
object Shape1: TShape
Left = 254
Top = 295
Width = 103
Height = 72
HelpType = htKeyword
Brush.Color = clRed
Shape = stRoundRect
Visible = False
end
object Shape4: TShape
Left = 7
Top = 246
Width = 103
Height = 72
HelpType = htKeyword
Brush.Color = clYellow
Shape = stRoundRect
Visible = False
end
object Shape11: TShape
Left = 253
Top = 205
Width = 103
Height = 72
HelpType = htKeyword
Brush.Color = clNavy
Shape = stRoundRect
Visible = False
end
object Label6: TLabel
Left = 277
Top = 210
Width = 55
Height = 13
HelpType = htKeyword
Caption = 'Database'
Color = clBlack
Font.Charset = DEFAULT_CHARSET
Font.Color = clWhite
Font.Height = -12
Font.Name = 'MS Sans Serif'
Font.Style = [fsBold]
ParentColor = False
ParentFont = False
Transparent = True
Visible = False
end
object Shape12: TShape
Left = 254
Top = 226
Width = 102
Height = 1
HelpType = htKeyword
Brush.Color = clBlack
Visible = False
end
object Shape9: TShape
Left = 130
Top = 386
Width = 103
Height = 72
HelpType = htKeyword
Brush.Color = clTeal
Shape = stRoundRect
Visible = False
end
object Label5: TLabel
Left = 137
Top = 391
Width = 89
Height = 13
HelpType = htKeyword
Caption = 'Data Dictionary'
Color = clWhite
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack
Font.Height = -12
Font.Name = 'MS Sans Serif'
Font.Style = [fsBold]
ParentColor = False
ParentFont = False
Transparent = True
Visible = False
end
object Shape10: TShape
Left = 131
Top = 407
Width = 102
Height = 1
HelpType = htKeyword
Visible = False
end
object Shape6: TShape
Left = 130
Top = 294
Width = 103
Height = 72
HelpType = htKeyword
Brush.Color = clBlue
Shape = stRoundRect
Visible = False
end
object Label7: TLabel
Left = 156
Top = 299
Width = 51
Height = 13
HelpType = htKeyword
Caption = 'Designer'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWhite
Font.Height = -12
Font.Name = 'MS Sans Serif'
Font.Style = [fsBold]
ParentFont = False
Transparent = True
Visible = False
end
object Shape5: TShape
Left = 131
Top = 315
Width = 101
Height = 1
HelpType = htKeyword
Visible = False
end
object Label8: TLabel
Left = 43
Top = 251
Width = 31
Height = 13
HelpType = htKeyword
Caption = 'Items'
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack
Font.Height = -12
Font.Name = 'MS Sans Serif'
Font.Style = [fsBold]
ParentFont = False
Transparent = True
Visible = False
end
object Shape3: TShape
Left = 8
Top = 267
Width = 101
Height = 1
HelpType = htKeyword
Visible = False
end
object Label1: TLabel
Left = 286
Top = 300
Width = 39
Height = 13
HelpType = htKeyword
Caption = 'Report'
Color = clBlack
Font.Charset = DEFAULT_CHARSET
Font.Color = clWhite
Font.Height = -12
Font.Name = 'MS Sans Serif'
Font.Style = [fsBold]
ParentColor = False
ParentFont = False
Transparent = True
Visible = False
end
object Shape2: TShape
Left = 255
Top = 316
Width = 101
Height = 1
HelpType = htKeyword
Brush.Color = clBlack
Visible = False
end
object Shape15: TShape
Left = 8
Top = 165
Width = 103
Height = 72
HelpType = htKeyword
Brush.Color = clLime
Shape = stRoundRect
Visible = False
end
object Label2: TLabel
Left = 38
Top = 170
Width = 42
Height = 13
HelpType = htKeyword
Caption = 'Folders'
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack
Font.Height = -12
Font.Name = 'MS Sans Serif'
Font.Style = [fsBold]
ParentFont = False
Transparent = True
Visible = False
end
object Shape16: TShape
Left = 8
Top = 185
Width = 102
Height = 1
HelpType = htKeyword
Visible = False
end
object Shape22: TShape
Left = 130
Top = 205
Width = 103
Height = 72
HelpType = htKeyword
Brush.Color = clFuchsia
Shape = stRoundRect
Visible = False
end
object Label10: TLabel
Left = 158
Top = 210
Width = 47
Height = 13
HelpType = htKeyword
Caption = 'Explorer'
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack
Font.Height = -12
Font.Name = 'MS Sans Serif'
Font.Style = [fsBold]
ParentFont = False
Transparent = True
Visible = False
end
object Shape23: TShape
Left = 131
Top = 226
Width = 101
Height = 1
HelpType = htKeyword
Visible = False
end
object Shape29: TShape
Left = 66
Top = 467
Width = 2
Height = 16
HelpType = htKeyword
Brush.Style = bsClear
Pen.Width = 2
Shape = stRoundRect
Visible = False
end
object Shape18: TShape
Left = 16
Top = 477
Width = 103
Height = 72
HelpType = htKeyword
Brush.Color = clAqua
Shape = stRoundRect
Visible = False
end
object Shape17: TShape
Left = 291
Top = 467
Width = 2
Height = 17
HelpType = htKeyword
Brush.Style = bsClear
Pen.Width = 2
Shape = stRoundRect
Visible = False
end
object Shape8: TShape
Left = 181
Top = 457
Width = 2
Height = 22
HelpType = htKeyword
Brush.Style = bsClear
Pen.Width = 2
Shape = stRoundRect
Visible = False
end
object Shape13: TShape
Left = 132
Top = 478
Width = 103
Height = 72
HelpType = htKeyword
Brush.Color = clAqua
Shape = stRoundRect
Visible = False
end
object Label3: TLabel
Left = 166
Top = 483
Width = 34
Height = 13
HelpType = htKeyword
Caption = 'Fields'
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack
Font.Height = -12
Font.Name = 'MS Sans Serif'
Font.Style = [fsBold]
ParentFont = False
Transparent = True
Visible = False
end
object Shape14: TShape
Left = 133
Top = 499
Width = 102
Height = 1
HelpType = htKeyword
Visible = False
end
object Label9: TLabel
Left = 48
Top = 482
Width = 39
Height = 13
HelpType = htKeyword
Caption = 'Tables'
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack
Font.Height = -12
Font.Name = 'MS Sans Serif'
Font.Style = [fsBold]
ParentFont = False
Transparent = True
Visible = False
end
object Shape19: TShape
Left = 17
Top = 498
Width = 102
Height = 1
HelpType = htKeyword
Visible = False
end
object Shape21: TShape
Left = 245
Top = 477
Width = 103
Height = 72
HelpType = htKeyword
Brush.Color = clAqua
Shape = stRoundRect
Visible = False
end
object Shape27: TShape
Left = 246
Top = 498
Width = 102
Height = 1
HelpType = htKeyword
Visible = False
end
object Label4: TLabel
Left = 280
Top = 482
Width = 30
Height = 13
HelpType = htKeyword
Caption = 'Joins'
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack
Font.Height = -12
Font.Name = 'MS Sans Serif'
Font.Style = [fsBold]
ParentFont = False
Transparent = True
Visible = False
end
object Shape28: TShape
Left = 67
Top = 467
Width = 226
Height = 2
HelpType = htKeyword
Brush.Style = bsClear
Pen.Width = 2
Shape = stRoundRect
Visible = False
end
object btnLaunch: TButton
Left = 342
Top = 165
Width = 75
Height = 25
Caption = 'Launch'
TabOrder = 0
OnClick = btnLaunchClick
end
object Memo1: TMemo
Left = 7
Top = 9
Width = 411
Height = 150
Lines.Strings = (
'End-User Reporting using InterBase with dbExpress'
'----------------------------------------------------------------' +
'----------------'
''
'For detailed information please see the ReadMe.doc located'
'in this directory.')
ReadOnly = True
TabOrder = 1
end
object pnlStatusBar: TPanel
Left = 0
Top = 561
Width = 426
Height = 18
Align = alBottom
Alignment = taLeftJustify
TabOrder = 2
end
object dsTable: TDataSource
DataSet = sdsTable
Left = 53
Top = 507
end
object dsField: TDataSource
DataSet = sdsField
Left = 170
Top = 509
end
object ppDataDictionary1: TppDataDictionary
AutoJoin = True
BuilderSettings.DatabaseName = 'euSQLConnection'
BuilderSettings.SessionType = 'DBExpressSession'
FieldFieldNames.AutoSearch = 'AUTOSEARCH'
FieldFieldNames.DataType = 'DATATYPE'
FieldFieldNames.FieldName = 'FIELD_NAME'
FieldFieldNames.FieldAlias = 'FIELD_ALIAS'
FieldFieldNames.Mandatory = 'MANDATORY'
FieldFieldNames.Searchable = 'SEARCHABLE'
FieldFieldNames.Selectable = 'SELECTABLE'
FieldFieldNames.Sortable = 'SORTABLE'
FieldFieldNames.TableName = 'TABLE_NAME'
FieldPipeline = plField
JoinFieldNames.TableName1 = 'TABLE_NAME1'
JoinFieldNames.TableName2 = 'TABLE_NAME2'
JoinFieldNames.JoinType = 'JOIN_TYPE'
JoinFieldNames.FieldNames1 = 'FIELD_NAMES1'
JoinFieldNames.FieldNames2 = 'FIELD_NAMES2'
JoinFieldNames.Operators = 'OPERATORS'
JoinPipeline = plJoin
TableFieldNames.TableName = 'TABLE_NAME'
TableFieldNames.TableAlias = 'TABLE_ALIAS'
TablePipeline = plTable
UserName = 'DataDictionary1'
Left = 168
Top = 417
end
object ppDesigner1: TppDesigner
AllowDataSettingsChange = True
Caption = 'ReportBuilder Pro'
DataSettings.DatabaseName = 'euSQLConnection'
DataSettings.SessionType = 'dbExpressSession'
DataSettings.AllowEditSQL = True
DataSettings.CollationType = ctASCII
DataSettings.DatabaseType = dtInterBase
DataSettings.DataDictionary = ppDataDictionary1
DataSettings.IsCaseSensitive = True
DataSettings.SQLType = sqSQL2
DataSettings.UseDataDictionary = True
Position = poScreenCenter
Report = ppReport1
IniStorageType = 'IniFile'
IniStorageName = '($WINSYS)\RBuilder.ini'
WindowHeight = 400
WindowLeft = 100
WindowTop = 50
WindowWidth = 600
Left = 171
Top = 324
end
object dsItem: TDataSource
DataSet = sdsItem
Left = 45
Top = 277
end
object ppReport1: TppReport
PrinterSetup.BinName = 'Default'
PrinterSetup.DocumentName = 'Report'
PrinterSetup.PaperName = 'Lettre US (21,6 x 27,9 cm)'
PrinterSetup.PrinterName = 'Default'
PrinterSetup.mmMarginBottom = 6350
PrinterSetup.mmMarginLeft = 6350
PrinterSetup.mmMarginRight = 6350
PrinterSetup.mmMarginTop = 6350
PrinterSetup.mmPaperHeight = 279401
PrinterSetup.mmPaperWidth = 215900
PrinterSetup.PaperSize = 1
Template.DatabaseSettings.DataPipeline = plItem
Template.DatabaseSettings.NameField = 'Name'
Template.DatabaseSettings.TemplateField = 'Template'
Template.SaveTo = stDatabase
DeviceType = 'Screen'
OutlineSettings.CreateNode = True
OutlineSettings.CreatePageNodes = True
OutlineSettings.Enabled = False
OutlineSettings.Visible = False
TextSearchSettings.DefaultString = ''
TextSearchSettings.Enabled = False
Left = 289
Top = 326
Version = '7.01'
mmColumnWidth = 0
object ppHeaderBand1: TppHeaderBand
mmBottomOffset = 0
mmHeight = 13229
mmPrintPosition = 0
end
object ppDetailBand1: TppDetailBand
mmBottomOffset = 0
mmHeight = 13229
mmPrintPosition = 0
end
object ppFooterBand1: TppFooterBand
mmBottomOffset = 0
mmHeight = 13229
mmPrintPosition = 0
end
object daDataModule1: TdaDataModule
end
end
object dsFolder: TDataSource
DataSet = sdsFolder
Left = 44
Top = 194
end
object ppReportExplorer1: TppReportExplorer
Designer = ppDesigner1
FolderFieldNames.FolderId = 'FOLDER_ID'
FolderFieldNames.Name = 'NAME'
FolderFieldNames.ParentId = 'PARENT_ID'
FolderPipeline = plFolder
ItemFieldNames.Deleted = 'DELETED'
ItemFieldNames.FolderId = 'FOLDER_ID'
ItemFieldNames.ItemId = 'ITEM_ID'
ItemFieldNames.Modified = 'MODIFIED'
ItemFieldNames.Name = 'NAME'
ItemFieldNames.Size = 'ITEM_SIZE'
ItemFieldNames.Template = 'TEMPLATE'
ItemFieldNames.ItemType = 'ITEM_TYPE'
ItemPipeline = plItem
FormCaption = 'Report Explorer'
FormIcon.Data = {
0000010001002020100000000000E80200001600000028000000200000004000
0000010004000000000080020000000000000000000000000000000000000000
0000000080000080000000808000800000008000800080800000C0C0C0008080
80000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000884000000000000
000083BBBBB34003BBBBB800000000000004BBBBBBBB308BBBBBBB0000000000
00003BBBBBB3403BBBBBB3000000000000000BBBBBB404BBBBBB300000000000
000003BBBBB008BBBBBB800000000000000003BBBBB003BBBBBB000000000000
000003BBBBB48BBBBBB3000000000000000003BBBBBBBBBBBB30000000000000
000003BBBBBBBBBBB800000000000000000003BBBBB33BBBBB80000000000000
000003BBBBB003BBBBB4000000000000000003BBBBB003BBBBB8000000000000
000003BBBBB003BBBBB300000000000000000BBBBBB84BBBBBB8000000000000
00043BBBBBBBBBBBBBB00000000000000004BBBBBBBBBBBBB340000000000000
0000433888883338400000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000FFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8FFFF00
603FFE00403FFF00403FFF80807FFF81807FFF8180FFFF8000FFFF8001FFFF80
03FFFF8001FFFF8180FFFF8180FFFF8180FFFF8000FFFE0001FFFE0001FFFF00
07FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF}
FormPosition = poScreenCenter
FormHeight = 400
FormLeft = 100
FormTop = 50
FormWidth = 600
Left = 169
Top = 234
end
object plFolder: TppDBPipeline
DataSource = dsFolder
RefreshAfterPost = True
UserName = 'plFolder'
Visible = False
Left = 76
Top = 195
end
object plItem: TppDBPipeline
DataSource = dsItem
RefreshAfterPost = True
UserName = 'plItem'
Visible = False
Left = 77
Top = 278
end
object plTable: TppDBPipeline
DataSource = dsTable
UserName = 'plTable'
Visible = False
Left = 84
Top = 508
end
object plField: TppDBPipeline
DataSource = dsField
UserName = 'plField'
Visible = False
Left = 201
Top = 510
object plFieldppField1: TppField
FieldAlias = 'TABLE_NAME'
FieldName = 'TABLE_NAME'
FieldLength = 60
DisplayWidth = 60
Position = 0
end
object plFieldppField2: TppField
FieldAlias = 'FIELD_NAME'
FieldName = 'FIELD_NAME'
FieldLength = 60
DisplayWidth = 60
Position = 1
end
object plFieldppField3: TppField
FieldAlias = 'FIELD_ALIAS'
FieldName = 'FIELD_ALIAS'
FieldLength = 60
DisplayWidth = 60
Position = 2
end
object plFieldppField4: TppField
FieldAlias = 'DATATYPE'
FieldName = 'DATATYPE'
FieldLength = 60
DisplayWidth = 60
Position = 3
end
object plFieldppField5: TppField
FieldAlias = 'SELECTABLE'
FieldName = 'SELECTABLE'
FieldLength = 1
DisplayWidth = 1
Position = 4
end
object plFieldppField6: TppField
FieldAlias = 'SEARCHABLE'
FieldName = 'SEARCHABLE'
FieldLength = 1
DisplayWidth = 1
Position = 5
end
object plFieldppField7: TppField
FieldAlias = 'SORTABLE'
FieldName = 'SORTABLE'
FieldLength = 1
DisplayWidth = 1
Position = 6
end
object plFieldppField8: TppField
FieldAlias = 'AUTOSEARCH'
FieldName = 'AUTOSEARCH'
FieldLength = 1
DisplayWidth = 1
Position = 7
end
object plFieldppField9: TppField
FieldAlias = 'MANDATORY'
FieldName = 'MANDATORY'
FieldLength = 1
DisplayWidth = 1
Position = 8
end
end
object dsJoin: TDataSource
DataSet = sdsJoin
Left = 282
Top = 510
end
object plJoin: TppDBPipeline
DataSource = dsJoin
UserName = 'plJoin'
Visible = False
Left = 312
Top = 510
object plJoinppField1: TppField
FieldAlias = 'TABLE_NAME1'
FieldName = 'TABLE_NAME1'
FieldLength = 60
DisplayWidth = 60
Position = 0
end
object plJoinppField2: TppField
FieldAlias = 'TABLE_NAME2'
FieldName = 'TABLE_NAME2'
FieldLength = 60
DisplayWidth = 60
Position = 1
end
object plJoinppField3: TppField
FieldAlias = 'JOIN_TYPE'
FieldName = 'JOIN_TYPE'
FieldLength = 60
DisplayWidth = 60
Position = 2
end
object plJoinppField4: TppField
FieldAlias = 'FIELD_NAMES1'
FieldName = 'FIELD_NAMES1'
FieldLength = 255
DisplayWidth = 255
Position = 3
end
object plJoinppField5: TppField
FieldAlias = 'OPERATORS'
FieldName = 'OPERATORS'
FieldLength = 60
DisplayWidth = 60
Position = 4
end
object plJoinppField6: TppField
FieldAlias = 'FIELD_NAMES2'
FieldName = 'FIELD_NAMES2'
FieldLength = 255
DisplayWidth = 255
Position = 5
end
end
object euSQLConnection: TSQLConnection
DriverName = 'Interbase'
GetDriverFunc = 'getSQLDriverINTERBASE'
LibraryName = 'dbexpint.dll'
LoginPrompt = False
Params.Strings = (
'Database=C:\Program Files\Fichiers communs\Borland Shared\Data\e' +
'mployee.gdb'
'RoleName=RoleName'
'User_Name=sysdba'
'Password=masterkey'
'ServerCharSet='
'SQLDialect=1'
'BlobSize=-1'
'CommitRetain=False'
'WaitOnLocks=True'
'ErrorResourceFile='
'LocaleCode=0000'
'Interbase TransIsolation=ReadCommited'
'Trim Char=False')
VendorLib = 'gds32.dll'
Connected = True
Left = 288
Top = 232
end
object sdsFolder: TSimpleDataSet
Aggregates = <>
Connection = euSQLConnection
DataSet.CommandText = 'select * from rb_folder'
DataSet.MaxBlobSize = -1
DataSet.Params = <>
Params = <>
Left = 14
Top = 193
end
object sdsItem: TSimpleDataSet
Active = True
Aggregates = <>
Connection = euSQLConnection
DataSet.CommandText = 'select * from rb_item'
DataSet.MaxBlobSize = -1
DataSet.Params = <>
Params = <>
Left = 15
Top = 278
end
object sdsTable: TSimpleDataSet
Active = True
Aggregates = <>
Connection = euSQLConnection
DataSet.CommandText = 'select * from rb_table'
DataSet.MaxBlobSize = -1
DataSet.Params = <>
Params = <>
Left = 23
Top = 506
end
object sdsField: TSimpleDataSet
Active = True
Aggregates = <>
Connection = euSQLConnection
DataSet.CommandText = 'select * from rb_field'
DataSet.MaxBlobSize = -1
DataSet.Params = <>
Params = <>
Left = 139
Top = 509
end
object sdsJoin: TSimpleDataSet
Active = True
Aggregates = <>
Connection = euSQLConnection
DataSet.CommandText = 'select * from rb_join'
DataSet.MaxBlobSize = -1
DataSet.Params = <>
Params = <>
Left = 251
Top = 510
end
end
debugging it. The only thing I can think of at this point is that perhaps
you made other changes to RBuilder\Source that breaks the non-datadictionary
version of the plugin? Now that GetTableNames is working, perhaps make sure
that your library path is pointed to the installed RBuilder\Lib's dcu's and
that you are using the installed RB7 version of the DBExpress DADE plugin.
Cheers,
Jim Bennett
Digital Metaphors
http://www.digital-metaphors.com
info@digital-metaphors.com
same datadictionary problem.
I have it with :
dbExpress/Interbase
IBExpress/Interbase
BDE/Interbase
BDE/Paradox
I didn't check yet the others
Thanks
Marc
Can the query designer build sql statement like this ?
Select A from X where A In (Select A in Y where B...) ?
Have you got infos about the datadictionary ?
Thanks
Regards
Marc
various operating systems, using different printers and different versions
of Delphi. The four you have listed below work without problems here using
the data dictionary. At this point, I want to know the exact steps you take
in order to reproduce the problem. Use our out-of-the-box Autojoin
BDE/Paradox End Used demo project. Perhaps there are multiple databases with
the rb end user tables and that they have different entries in the data
dictionaries. Search your hard drive for the Employye.gdb and the rb*.db
Paradox tables.
Cheers,
Jim Bennett
Digital Metaphors
http://www.digital-metaphors.com
info@digital-metaphors.com
you enter for the search criteria. You'll have to edit the SQL text to
perform this query in DADE.
Cheers,
Jim Bennett
Digital Metaphors
http://www.digital-metaphors.com
info@digital-metaphors.com
partition of my hard drive (w98 as the primary one) and
installed RB.
I ran the script located in the Interbase demo dir (there is by another way
a little problem with it because the ITEM_ID_GEN generator already exists in
the employee.gdb sample database)
and simply ran the dbExpress/Interbase demo.
At run time I can't switch between use/not use the datadictionary :
It seems that the Tables names and the Fields Names are not refreshed in the
QueryWizard and the QueryDesigner.
Because I had not enough time today no more tests have been made.
Cheers
Marc
the use of the data dictionary at runtime, you have to clear the meta data
cache. The meta data cache is what is used to hit the database to retrieve
the tablenames and store them in a cache. Then as you select tables, RB
retrieves the field names for the table and stores them as well in the meta
data cache. To clear this in RB 7 you should be able to call
gMetaDataManager.Clear. This singleton is located in the daMetaDataManager
unit. This should cause the meta data cache to be refreshed the next time
you launch the designer at runtime. You shouldn't change this while the
designer is active. so you should shut the designer down, clear the cache,
then relaunch the designer. That should do the trick.
Cheers,
Jim Bennett
Digital Metaphors
http://www.digital-metaphors.com
info@digital-metaphors.com
Many thanks it works well now.
Regards
Marc