Login ProductsSalesSupportDownloadsAbout |
Home » Technical Support » ElevateDB Technical Support » Support Forums » ElevateDB General » View Thread |
Messages 1 to 10 of 13 total |
kbmmw / EDB setup problems |
Thu, Oct 18 2007 12:53 AM | Permanent Link |
"Harry de Boer" | LS
I am trying to make kbmmw (Components4Deveopers) to work with EDB (Elevatesoft). I built a server with a queryservice and start it. When I try to query from a clientapp I get the RemoteLogin dialog. I enter the default values, and then get the "there must be at least one field error". What can cause this? I think I set up things properly, but I don't know for sure; here is the (parts that matter) setup of the server object Server: TkbmMWServer object SessiePool: TkbmMWPooledSession ConnectionPool = EDBConnectionPool SessionName = 'sesPool' object Transport: TkbmMWTCPIPIndyServerTransport Server = Server StreamFormat = 'ZIPPED' VerifyTransfer = True object EDBMetaData: TkbmMWEDBMetaData object EDBConnectionPool: TkbmMWEDBConnectionPool MetaData = EDBMetaData Database = EDBDatabase Session = EDBSession object EDBDatabase: TEDBDatabase DatabaseName = 'EDBdatabase' Database = 'VOC' SessionName = 'EDBSessie' object EDBSession: TEDBSession LoginUser = 'Administrator' LoginPassword = 'EDBDefault' SessionName = 'EDBSessie' object EDBEngine: TEDBEngine BeforeStart = EDBEngineBeforeStart object EDBConfigQuery: TEDBQuery DatabaseName = 'Configuration' SessionName = 'EDBSessie' end procedure TformServer.StartServer; var tekst, dbpad, poort : string; begin memoIni.LoadFromFile('VOC_Server.ini'); poort := iniControl.ReadString('Transport','BindingsPort','4000'); dbpad := iniControl.ReadString('Database','Path',''); //Check database directory if not fileexists(dbpad + '\_Staaf.EDBTbl') then begin tekst := 'Database pad is onjuist , Server kan niet worden gestart!'; MsgBox(Application.Title, tekst, MB_OK + MB_ICONWARNING); Exit; end; //Make database with EDBConfigQuery do begin SQL.Text:='SELECT * FROM Databases WHERE Name='+Engine.QuotedSQLStr('VOC'); Open; if (RecordCount=0) then begin Close; SQL.Text:='CREATE DATABASE "VOC" PATH '+ Engine.QuotedSQLStr(ExtractFilePath(dbpad)); ExecSQL; end; end; Transport.Bindings.Items[0].Port := strToInt(poort); EDBConnectionPool.MaxConnections := strToInt(iniControl.ReadString('ConnectionPool','MaxConnections','5')); EDBConnectionPool.ConnectionInactivityTimeout := strToInt(iniControl.ReadString('ConnectionPool','ConnectionInactivityTimeout ','0')); Server.Active := TRUE; end; The server runs and with a clientapp I can connect (no connection error) and I can reach the queryservice on the server (otherwise an error would occur). But then I get the before mentioned behavior (password dialog - don't want that) and the error. D6, EDB 1.05, kbmmw 2.80.00 Send to components4developers and elevatesoft newsgroups - topic of thread: kbmmw / EDB setup problems Regards, Harry |
Thu, Oct 18 2007 1:10 AM | Permanent Link |
"Kim Madsen" | Hi,
As reply from the post in our kbmMW ngs: > I am trying to make kbmmw (Components4Deveopers) to work with EDB > (Elevatesoft). I built a server with a queryservice and start it. When I > try > to query from a clientapp I get the RemoteLogin dialog. I enter the > default > values, and then get the "there must be at least one field error". What > can > cause this? This indicate an invalid SQL statement that results in no fields when you are trying to open a query. > The server runs and with a clientapp I can connect (no connection error) > and > I can reach the queryservice on the server (otherwise an error would > occur). > But then I get the before mentioned behavior (password dialog - don't want > that) and the error. This is how I prepare access to a EDB database from a standard kbmMW demo application server: kbmMWServer1.RegisterService(TkbmMWInventoryService,false); kbmMWServer1.RegisterServiceByName('KBMMW_QUERY',TTestQuery,false); // Set the data path EDBEngine1.ConfigPath:=ExtractFilePath(Application.ExeName); EDBEngine1.ConfigName:='EDBConfig'; EDBEngine1.TempTablesPath:=EDBEngine1.GetTempTablesPath; EDBEngine1.EngineType:=etClient; EDBEngine1.Open; // Set the default login info. EDBSession1.LoginUser:='Administrator'; EDBSession1.LoginPassword:='EDBDefault'; // Create database in the local configuration, pointing to the tables already available. if kbmMWEDBConnectionPool1.MetaExists(mwmdtDatabase,'DEMO',b) and (not b) then begin dbDef:=TkbmMWDatabaseDef.Create; try dbDef.Path:=IncludeTrailingBackslash(EDBEngine1.ConfigPath)+'data\'; kbmMWEDBConnectionPool1.MetaCreate(mwmdtDatabase,'DEMO',dbDef); finally dbDef.Free; end; end; EDBDatabase1.DatabaseName:='DEMO'; EDBDatabase1.Database:='DEMO'; And the relevant components: object EDBDatabase1: TEDBDatabase SessionName = 'EDBSession1_1' Left = 448 end object kbmMWEDBConnectionPool1: TkbmMWEDBConnectionPool MaxConnections = 10 MetaData = kbmMWEDBMetaData1 Database = EDBDatabase1 Session = EDBSession1 Left = 488 end object EDBSession1: TEDBSession AutoSessionName = True RemoteAddress = '127.0.0.1' RemotePort = 12001 RemoteTimeout = 300 RemotePing = False Left = 488 Top = 32 end object EDBEngine1: TEDBEngine Signature = 'edb_signature' EncryptionPassword = 'elevatesoft' LicensedSessions = 4096 ConfigPath = '.\DATA' ConfigName = 'EDBConfig' ConfigExtension = '.EDBCfg' LockExtension = '.EDBLck' LogExtension = '.EDBLog' MaxLogFileSize = 1048576 LogCategories = [lcInformation, lcWarning, lcError] CatalogName = 'EDBDatabase' CatalogExtension = '.EDBCat' BackupExtension = '.EDBBkp' TableExtension = '.EDBTbl' TableIndexExtension = '.EDBIdx' TableBlobExtension = '.EDBBlb' TempTablesPath = 'C:\DOCUME~1\STEVEF~1\LOCALS~1\Temp\' ServerName = 'EDBSrvr' ServerDescription = 'ElevateDB Server' ServerAuthorizedAddresses.Strings = ( '*') Left = 408 end object kbmMWEDBMetaData1: TkbmMWEDBMetaData FieldNameQuote = '"' FieldNameCase = kbmmwncUnaltered TableNameQuote = '"' TableNameCase = kbmmwncUnaltered QuoteAllFieldNames = True QuoteTableName = True StringQuote = '''' QuoteStringQuote = '''' DateLayout = '"yyyy-mm-dd"' TimeLayout = 'hh:mm:ss.zzz' DateTimeLayout = '"yyyy-mm-dd" hh:mm:ss.zzz' TrueValue = 'TRUE' FalseValue = 'FALSE' PrependTableName = False Left = 448 Top = 72 end I dont get any logon dialogs etc. -- best regards Kim Madsen kbm@components4developers.com www.components4developers.com www.myc4d.com - Your access to cool code blogs.myc4d.com - Your access to code tidbits and comments The best components for the best developers Application server enabling technology for developers "Harry de Boer" <harry@staaf.nl> skrev i en meddelelse news:C812165D-FD2B-4BBA-83C6-C3A33ED324F4@news.elevatesoft.com... > LS > > I am trying to make kbmmw (Components4Deveopers) to work with EDB > (Elevatesoft). I built a server with a queryservice and start it. When I > try > to query from a clientapp I get the RemoteLogin dialog. I enter the > default > values, and then get the "there must be at least one field error". What > can > cause this? |
Sun, Oct 21 2007 9:09 AM | Permanent Link |
"Harry de Boer" | Tim,
After trying the kbbmw middleware with EDB Kim came up with the following. > Yes... I tried it out... but alas not with success. > It generated an almost 3gb big temporary table when I did an invalid query > on it, and then ran out of space for the temp table. Elevate DB error > #407.... EDBBlb Perhaps you could figure out what's gining wrong? See also the posts in the kbmmw ng. Regards, Harry > Yes... I tried it out... but alas not with success. > It generated an almost 3gb big temporary table when I did an invalid query > on it, and then ran out of space for the temp table. Elevate DB error > #407.... EDBBlb > "Harry de Boer" <harry@staaf.nl> schreef in bericht news:C812165D-FD2B-4BBA-83C6-C3A33ED324F4@news.elevatesoft.com... > LS > > I am trying to make kbmmw (Components4Deveopers) to work with EDB > (Elevatesoft). I built a server with a queryservice and start it. When I try > to query from a clientapp I get the RemoteLogin dialog. I enter the default > values, and then get the "there must be at least one field error". What can > cause this? > > I think I set up things properly, but I don't know for sure; here is the > (parts that matter) setup of the server > > object Server: TkbmMWServer > object SessiePool: TkbmMWPooledSession > ConnectionPool = EDBConnectionPool > SessionName = 'sesPool' > object Transport: TkbmMWTCPIPIndyServerTransport > Server = Server > StreamFormat = 'ZIPPED' > VerifyTransfer = True > object EDBMetaData: TkbmMWEDBMetaData > object EDBConnectionPool: TkbmMWEDBConnectionPool > MetaData = EDBMetaData > Database = EDBDatabase > Session = EDBSession > object EDBDatabase: TEDBDatabase > DatabaseName = 'EDBdatabase' > Database = 'VOC' > SessionName = 'EDBSessie' > object EDBSession: TEDBSession > LoginUser = 'Administrator' > LoginPassword = 'EDBDefault' > SessionName = 'EDBSessie' > object EDBEngine: TEDBEngine > BeforeStart = EDBEngineBeforeStart > object EDBConfigQuery: TEDBQuery > DatabaseName = 'Configuration' > SessionName = 'EDBSessie' > end > > procedure TformServer.StartServer; > var > tekst, dbpad, poort : string; > begin > memoIni.LoadFromFile('VOC_Server.ini'); > poort := iniControl.ReadString('Transport','BindingsPort','4000'); > dbpad := iniControl.ReadString('Database','Path',''); > //Check database directory > if not fileexists(dbpad + '\_Staaf.EDBTbl') then begin > tekst := 'Database pad is onjuist , Server kan niet worden gestart!'; > MsgBox(Application.Title, tekst, MB_OK + MB_ICONWARNING); > Exit; > end; > //Make database > with EDBConfigQuery do begin > SQL.Text:='SELECT * FROM Databases WHERE > Name='+Engine.QuotedSQLStr('VOC'); > Open; > if (RecordCount=0) then begin > Close; > SQL.Text:='CREATE DATABASE "VOC" PATH '+ > Engine.QuotedSQLStr(ExtractFilePath(dbpad)); > ExecSQL; > end; > end; > Transport.Bindings.Items[0].Port := strToInt(poort); > EDBConnectionPool.MaxConnections := > strToInt(iniControl.ReadString('ConnectionPool','MaxConnections','5')); > EDBConnectionPool.ConnectionInactivityTimeout := > strToInt(iniControl.ReadString('ConnectionPool','ConnectionInactivityTimeout > ','0')); > Server.Active := TRUE; > end; > > The server runs and with a clientapp I can connect (no connection error) and > I can reach the queryservice on the server (otherwise an error would occur). > But then I get the before mentioned behavior (password dialog - don't want > that) and the error. > > > D6, EDB 1.05, kbmmw 2.80.00 > > Send to components4developers and elevatesoft newsgroups - topic of thread: > kbmmw / EDB setup problems > > Regards, Harry > > |
Mon, Oct 22 2007 2:19 PM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. timyoung@elevatesoft.com | Harry,
<< Perhaps you could figure out what's gining wrong? >> What is "it" in this case ? A particular query ? -- Tim Young Elevate Software www.elevatesoft.com |
Mon, Oct 22 2007 2:53 PM | Permanent Link |
"Harry de Boer" | Tim,
Well no, not quite. It is a simple 'select * from aanhef' statement, nothing fancy about it. 'Aanhef' is a table with two fields and 82 rows. The error occurs because a temp table seems to be made and it exceeds the max limit for a file. The strange thing is that it don't happen with EDBmngr but from the testapps (client and server) that comes with kbmmw 2.8.0 the error occurs. This takes already more then a day of my time and it's driving me mad :0 (well no, not really ofcourse, I'm still making sense I hope), but I want to start a project (kbmmw/dbisam replacement) -planned start is tommorow and this is stopping me from further development right now. Do you have any idea what can cause this error? Regards, Harry "Tim Young [Elevate Software]" <timyoung@elevatesoft.com> schreef in bericht news:1D8BCACD-5385-4D13-AE7A-A0E1C5E6AFE3@news.elevatesoft.com... > Harry, > > << Perhaps you could figure out what's gining wrong? >> > > What is "it" in this case ? A particular query ? > > -- > Tim Young > Elevate Software > www.elevatesoft.com > > |
Mon, Oct 22 2007 3:12 PM | Permanent Link |
Eryk Bottomley | Harry
> Well no, not quite. It is a simple 'select * from aanhef' statement, nothing > fancy about it. 'Aanhef' is a table with two fields and 82 rows. The error > occurs because a temp table seems to be made and it exceeds the max limit > for a file. How big is the table? Also: >>Yes... I tried it out... but alas not with success. >> It generated an almost 3gb big temporary table when I did an invalid >>query >> on it, and then ran out of space for the temp table. Elevate DB error >> #407.... EDBBlb What does "an invalid query" mean? It is perfectly possible to trash almost any DB engine with averaged sized tables if one starts throwing around cartesian product queries (for example). Eryk |
Mon, Oct 22 2007 3:48 PM | Permanent Link |
"Harry de Boer" | Eryk,
The table 'Aanhef' is a small table with two fields and 82 rows the Aanhef.EDBtbl file is 21.632 bytes the Aanhef.EDBIdx is 12.288 bytes Fields Id_Aanhef VARCHAR(10) Aanhef VARCHAR(20) > What does "an invalid query" mean? It is perfectly possible to trash > almost any DB engine with averaged sized tables if one starts throwing > around cartesian product queries (for example). I guess that's a question to Tim? Regards, Harry "Eryk Bottomley" <no@way.com> schreef in bericht news:49E06A37-11A9-4624-B4BC-C6D0191C7B5C@news.elevatesoft.com... > Harry > > > Well no, not quite. It is a simple 'select * from aanhef' statement, nothing > > fancy about it. 'Aanhef' is a table with two fields and 82 rows. The error > > occurs because a temp table seems to be made and it exceeds the max limit > > for a file. > > > How big is the table? Also: > > >>Yes... I tried it out... but alas not with success. > >> It generated an almost 3gb big temporary table when I did an invalid > >>query > >> on it, and then ran out of space for the temp table. Elevate DB error > >> #407.... EDBBlb > > What does "an invalid query" mean? It is perfectly possible to trash > almost any DB engine with averaged sized tables if one starts throwing > around cartesian product queries (for example). > > Eryk |
Mon, Oct 22 2007 4:29 PM | Permanent Link |
Eryk Bottomley | Harry
>> What does "an invalid query" mean? It is perfectly possible to trash >> almost any DB engine with averaged sized tables if one starts throwing >> around cartesian product queries (for example). > > I guess that's a question to Tim? No, it was in reference to whoever wrote: "Yes... I tried it out... but alas not with success. > It generated an almost 3gb big temporary table when I did an invalid query > on it, and then ran out of space for the temp table. Elevate DB error > #407.... EDBBlb" ....which you then quoted. The reference to 'EDBBlb' seems to indicate that there is BLOB/Memo data involved and the term 'invalid query' isn't clarified. The query you mentioned ('select * from aanhef') clearly isn't invalid since it works in the manager utility so either a different query is involved above or the middleware is creating queries of its own behind the scenes (maybe to extract metadata or something). Aside from a bug in the EDB engine the other obvious contender for a disk munching result set like that would be a badly constructed cartesian product query against tables containing BLOBs ...which most (all?) of the metadata tables do. Eryk |
Mon, Oct 22 2007 4:39 PM | Permanent Link |
"Harry de Boer" | Eryk,
I see. I will contact Kim (Components4Developers - kbmmw) Madsen with this info, en let him try with a valid statement. Thanks. Regards, Harry "Eryk Bottomley" <no@way.com> schreef in bericht news:A4D3ABFE-9A1D-421D-A110-5D59FEDAD95D@news.elevatesoft.com... > Harry > > >> What does "an invalid query" mean? It is perfectly possible to trash > >> almost any DB engine with averaged sized tables if one starts throwing > >> around cartesian product queries (for example). > > > > I guess that's a question to Tim? > > > No, it was in reference to whoever wrote: > > "Yes... I tried it out... but alas not with success. > > It generated an almost 3gb big temporary table when I did an invalid > query > > on it, and then ran out of space for the temp table. Elevate DB error > > #407.... EDBBlb" > > ...which you then quoted. The reference to 'EDBBlb' seems to indicate > that there is BLOB/Memo data involved and the term 'invalid query' isn't > clarified. The query you mentioned ('select * from aanhef') clearly > isn't invalid since it works in the manager utility so either a > different query is involved above or the middleware is creating queries > of its own behind the scenes (maybe to extract metadata or something). > > Aside from a bug in the EDB engine the other obvious contender for a > disk munching result set like that would be a badly constructed > cartesian product query against tables containing BLOBs ...which most > (all?) of the metadata tables do. > > Eryk |
Mon, Oct 22 2007 5:05 PM | Permanent Link |
Eryk Bottomley | Harry,
> I see. I will contact Kim (Components4Developers - kbmmw) Madsen with this > info, I would class it as "wild speculation" rather than "info". I don't use either ElevateDB or the memtable stuff ...I'm just making a guesses based on general principles. Eryk |
Page 1 of 2 | Next Page » | |
Jump to Page: 1 2 |
This web page was last updated on Tuesday, May 7, 2024 at 06:25 PM | Privacy PolicySite Map © 2024 Elevate Software, Inc. All Rights Reserved Questions or comments ? E-mail us at info@elevatesoft.com |