Re: [firebird-support] (unknown)

2016-06-29 Thread Dimitry Sibiryakov s...@ibphoenix.com [firebird-support]
29.06.2016 10:28, Якушев Евгений annino...@yandex.ru [firebird-support] wrote:
> So here is the question: is it a Firebird bug or something wrong with the 
> windows server?
> Unfortunatelly we have not found any usefull sollution on the web.

   http://www.ibase.ru/keepalive/

-- 
   WBR, SD.






++

Visit http://www.firebirdsql.org and click the Documentation item
on the main (top) menu.  Try FAQ and other links from the left-side menu there.

Also search the knowledgebases at http://www.ibphoenix.com/resources/documents/ 

++


Yahoo Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/firebird-support/

<*> Your email settings:
Individual Email | Traditional

<*> To change settings online go to:
http://groups.yahoo.com/group/firebird-support/join
(Yahoo! ID required)

<*> To change settings via email:
firebird-support-dig...@yahoogroups.com 
firebird-support-fullfeatu...@yahoogroups.com

<*> To unsubscribe from this group, send an email to:
firebird-support-unsubscr...@yahoogroups.com

<*> Your use of Yahoo Groups is subject to:
https://info.yahoo.com/legal/us/yahoo/utos/terms/



[firebird-support] (unknown)

2016-06-29 Thread Якушев Евгений annino...@yandex.ru [firebird-support]













[firebird-support] (unknown)

2014-06-19 Thread suzan kardes logicelectronic...@yahoo.com [firebird-support]
Hi Everyone,
I installed a programme and the programme uses firebird database. I take error 
message as following when I run application. Please help how I can fix the 
problem.


Thanks in advance
--


Server Error in '/xxx' Application.





System.Web.Services.Protocols.SoapException: Server was unable to process 
request. --- System.Exception: Unknown database type 'Firebird' in config file
  at xx.Classes.AppsServerConfig.ConnectionString()
  at 
xx.xxxAppServer.ConfigurationManagement.Classes.LicenseManager.ClearLicenseLog()
  at 
xx.xxAppServer.ConfigurationManagement.Classes.LicenseManager.LoadLicenses()
  at 
xxx.xxAppServer.ConfigurationManagement.Classes.LicenseManager.LeaseLicense(String
 SessionId)
  
atxxx.xxAppServer.ConfigurationManagement.Classes.CMSWorker.UpdateFromLoginResult(IDS_LoginResult
 result)
  at xx.xxAppServer.ConfigurationManagement.Classes.CMSWorker..ctor(String 
SessionID)
  at xxx.xxAppServer.ConfigurationMangement.CMService.GetConfigurations(String 
SessionId)
  --- End of inner exception stack trace ---

Description: An unhandled exception occurred during the execution of the 
current web request. Please review the stack trace for more information about 
the error and where it originated in the code. 


Exception Details: System.Web.Services.Protocols.SoapException: 
System.Web.Services.Protocols.SoapException: Server was unable to process 
request. --- System.Exception: Unknown database type 'Firebird' in config file
  at xx.Classes.AppsServerConfig.ConnectionString()
  at 
xx.xxAppServer.ConfigurationManagement.Classes.LicenseManager.ClearLicenseLog()
  at 
xx.xxAppServer.ConfigurationManagement.Classes.LicenseManager.LoadLicenses()
  at 
xx.xxAppServer.ConfigurationManagement.Classes.LicenseManager.LeaseLicense(String
 SessionId)
  at 
xx.xxAppServer.ConfigurationManagement.Classes.CMSWorker.UpdateFromLoginResult(IDS_LoginResult
 result)
  at xx.xxAppServer.ConfigurationManagement.Classes.CMSWorker..ctor(String 
SessionID)
  at xxx.xxAppServer.ConfigurationMangement.CMService.GetConfigurations(String 
SessionId)
  --- End of inner exception stack trace ---


Source Error: 
An unhandled exception was generated during the execution of the current web 
request. Information regarding the origin and location of the exception can be 
identified using the exception stack trace below.


Stack Trace: 
[SoapException: System.Web.Services.Protocols.SoapException: Server was unable 
to process request. --- System.Exception: Unknown database type 'Firebird' in 
config file
   at Xxx.Classes.AppsServerConfig.ConnectionString()
   at 
Xxx.XxxAppServer.ConfigurationManagement.Classes.LicenseManager.ClearLicenseLog()
   at 
Xxx.XxxAppServer.ConfigurationManagement.Classes.LicenseManager.LoadLicenses()
   at 
Xxx.XxxAppServer.ConfigurationManagement.Classes.LicenseManager.LeaseLicense(String
 SessionId)
   at 
Xxx.XxxAppServer.ConfigurationManagement.Classes.CMSWorker.UpdateFromLoginResult(IDS_LoginResult
 result)
   at Xxx.XxxAppServer.ConfigurationManagement.Classes.CMSWorker..ctor(String 
SessionID)
   at 
Xxx.XxxAppServer.ConfigurationMangement.CMService.GetConfigurations(String 
SessionId)
   --- End of inner exception stack trace ---]
   
System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage
 message, WebResponse response, Stream responseStream, Boolean asyncCall) 
+1506072
   System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String 
methodName, Object[] parameters) +221
   CMService.GetConfigurations(String SessionId) +47
   
Xxx.XxxAppServer.ConfigurationManagement.ViewModel.ConfigurationViewModel.Create()
 +180
   Xxx.XxxAppServer.ConfigurationManagement.Controllers.HomeController.Index() 
+11
   lambda_method(Closure , ControllerBase , Object[] ) +62
   System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, 
Object[] parameters) +17
   System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext 
controllerContext, IDictionary`2 parameters) +188
   System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext 
controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters) 
+27
   
System.Web.Mvc.Async.c__DisplayClass42.BeginInvokeSynchronousActionMethodb__41()
 +28
   
System.Web.Mvc.Async.c__DisplayClass8`1.BeginSynchronousb__7(IAsyncResult 
_) +12
   System.Web.Mvc.Async.WrappedAsyncResult`1.End() +50
   
System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult
 asyncResult) +29
   
System.Web.Mvc.Async.c__DisplayClass39.BeginInvokeActionMethodWithFiltersb__33()
 +59
   
System.Web.Mvc.Async.c__DisplayClass4f.InvokeActionMethodFilterAsynchronouslyb__49()
 +240
   
System.Web.Mvc.Async.c__DisplayClass37.BeginInvokeActionMethodWithFiltersb__36(IAsyncResult
 asyncResult) +12
   System.Web.Mvc.Async.WrappedAsyncResult`1.End() +50
   

Re: [firebird-support] (unknown)

2014-06-19 Thread Helen Borrie hele...@iinet.net.au [firebird-support]
At 11:31 p.m. 19/06/2014, suzan kardes logicelectronic...@yahoo.com 
[firebird-support] wrote:



Hi Everyone,

I installed a programme and the programme uses firebird database. I take error 
message as following when I run application. Please help how I can fix the 
problem.

Thanks in advance
--

Server Error in '/xxx' Application.

System.Web.Services.Protocols.SoapException: Server was unable to process 
request. --- System.Exception: Unknown database type 'Firebird' in config file

[etc]

It is your application program, not the Firebird RDBMS, that is the source of 
your problem.  It appears to have been installed without the ADO.Net driver 
that is needed to connect the application to the database. 

If you are the programmer, you can take your question to the 
firebird-net-provider list for possible clues. See 
http://www.firebirdsql.org/en/mailing-lists/ for instructions to subscribe to 
that list. If you are not the programmer, refer to the vendor of your software 
for a solution.


Helen Borrie, Support Consultant, IBPhoenix (Pacific)
Author of The Firebird Book and The Firebird Book Second Edition
http://www.firebird-books.net
__ 



Re: [firebird-support] Unknown ISC Error 0

2014-01-16 Thread Cam
On 16/01/2014 6:07 PM, Helen Borrie wrote:
 At 06:28 p.m. 16/01/2014, Cam wrote:
 Hi

 Using Firebird 2.5.2  32 bit  SuperServer.
 Happens on Win XP, WIN7 64 BIT oS'S

 Occasionally on some sites I am getting a dialog Box with

 ISCErrorCode 335544648
 Unknown ISC Error 0

 According to the error code list the 335544648 code means
 335544648  conn_lost  Connection lost to pipe server.

 Not sure what this means.

 I have terminated the application using Firebird.
 Stopped and Started the Firebird Service.
 Backed up and restored the database with no errors.
 Restart the application and the error occurs immediately.

 The only way I have been able to clear the error is to reboot the PC.
 It appears your clients are using Named Pipes protocol (WNET) to connect to 
 the server.  The number of simultaneous WNET connections will be limited by 
 the Windows licence.  It's not just database connections that are counted:  
 so are network and shared printers, file shares, NAS directories, etc.  If 
 the network is being stretched to the limit, the NMS will disconnect any 
 quiet connections to let the next connection request through.  Watch the 
 Firebird log when the app gets a 335544648: there might be a corresponding 
 WNET error there.

 But WNET is a noisy protocol, prone to Connection Lost and Connection Reset 
 errors with no cause other than poor error recovery.

 Is there another way to clear the conditions causing this error?
 Better to *avoid* the error.  Use TCP/IP as the connection protocol for your 
 database clients.  It isn't affected by the Windows licence limitations.  
 It's less noisy, as well.

 All that said, it would make sense to check the network hardware - cards, 
 connectors, cables, routers, including wifi if it's in use.


 Helen Borrie, Support Consultant, IBPhoenix (Pacific)
 Author of The Firebird Book and The Firebird Book Second Edition
 http://www.firebird-books.net
Hi Helen

Just checked my code. Using IBObjects. Embarrassed to say that the 
protocol on the TIB_Connection was cpLocal, so this may be the culprit.

Thanks for the reply
Cheers
Paul


[firebird-support] Unknown ISC Error 0

2014-01-15 Thread Cam
Hi

Using Firebird 2.5.2  32 bit  SuperServer.
Happens on Win XP, WIN7 64 BIT oS'S

Occasionally on some sites I am getting a dialog Box with

ISCErrorCode 335544648
Unknown ISC Error 0

According to the error code list the 335544648 code means
335544648  conn_lost  Connection lost to pipe server.

Not sure what this means.

I have terminated the application using Firebird.
Stopped and Started the Firebird Service.
Backed up and restored the database with no errors.
Restart the application and the error occurs immediately.

The only way I have been able to clear the error is to reboot the PC.

Is there another way to clear the conditions causing this error?

Cheers
Paul


Re: [firebird-support] Unknown ISC Error 0

2014-01-15 Thread Helen Borrie
At 06:28 p.m. 16/01/2014, Cam wrote:
Hi

Using Firebird 2.5.2  32 bit  SuperServer.
Happens on Win XP, WIN7 64 BIT oS'S

Occasionally on some sites I am getting a dialog Box with

ISCErrorCode 335544648
Unknown ISC Error 0

According to the error code list the 335544648 code means
335544648  conn_lost  Connection lost to pipe server. 

Not sure what this means.

I have terminated the application using Firebird.
Stopped and Started the Firebird Service.
Backed up and restored the database with no errors.
Restart the application and the error occurs immediately.

The only way I have been able to clear the error is to reboot the PC.

It appears your clients are using Named Pipes protocol (WNET) to connect to the 
server.  The number of simultaneous WNET connections will be limited by the 
Windows licence.  It's not just database connections that are counted:  so are 
network and shared printers, file shares, NAS directories, etc.  If the network 
is being stretched to the limit, the NMS will disconnect any quiet 
connections to let the next connection request through.  Watch the Firebird log 
when the app gets a 335544648: there might be a corresponding WNET error there.

But WNET is a noisy protocol, prone to Connection Lost and Connection Reset 
errors with no cause other than poor error recovery.

Is there another way to clear the conditions causing this error?

Better to *avoid* the error.  Use TCP/IP as the connection protocol for your 
database clients.  It isn't affected by the Windows licence limitations.  It's 
less noisy, as well.

All that said, it would make sense to check the network hardware - cards, 
connectors, cables, routers, including wifi if it's in use.


Helen Borrie, Support Consultant, IBPhoenix (Pacific)
Author of The Firebird Book and The Firebird Book Second Edition
http://www.firebird-books.net
__ 



[firebird-support] (unknown)

2013-01-24 Thread John
http://www.ids-service.eu/components/com_content/hltcr.html


John

[Non-text portions of this message have been removed]



[firebird-support] (unknown)

2012-10-31 Thread Jack Cane
Two problems, perhaps related:
Created a database using sql creation script; opened the empty db in FB 
connection tab and all was well; Opened and closed my development platform to 
confirm it saw the db, and again all was well; reopened db in FB and received 
I/O error.Restarted Windows. Again opened the db in FB, and received the 
message, Unavailable database.Any ideas how to proceed, will be appreciated.



[Non-text portions of this message have been removed]



[firebird-support] (unknown)

2012-09-15 Thread Alejandro Garcia
pa 
href=http://evgrafiti.com/betweenbill/andrewmoore5/;http://evgrafiti.com/betweenbill/andrewmoore5//a/p


[Non-text portions of this message have been removed]



[firebird-support] (unknown)

2012-09-15 Thread Alejandro Garcia
pa 
href=http://hassanitpro.com/bloodconference/simonmartin69/;http://hassanitpro.com/bloodconference/simonmartin69//a/p


[Non-text portions of this message have been removed]



[firebird-support] (unknown)

2012-09-15 Thread Alejandro Garcia
pa 
href=http://bacehpachuca.org.mx/attentionallied/stephenphillips32/;http://bacehpachuca.org.mx/attentionallied/stephenphillips32//a/p


[Non-text portions of this message have been removed]



[firebird-support] (unknown)

2012-09-15 Thread Alejandro Garcia
pa 
href=http://shamiulrana.in/examcinema/davidstewart12/;http://shamiulrana.in/examcinema/davidstewart12//a/p


[Non-text portions of this message have been removed]



[firebird-support] (unknown)

2012-09-15 Thread Alejandro Garcia
pa 
href=http://multiwarna.com/catchbreakfast/johnmacdonald21/;http://multiwarna.com/catchbreakfast/johnmacdonald21//a/p


[Non-text portions of this message have been removed]



[firebird-support] (unknown)

2012-09-15 Thread Alejandro Garcia
pa 
href=http://233566.webtest.goneo.de/attentioncycling/jonathanjones76/;http://233566.webtest.goneo.de/attentioncycling/jonathanjones76//a/p


[Non-text portions of this message have been removed]



[firebird-support] (unknown)

2012-09-14 Thread michael jones
pa 
href=http://www.khanelholey.com/belleducation/geoffreygordon51/;http://www.khanelholey.com/belleducation/geoffreygordon51//a/p


[Non-text portions of this message have been removed]



[firebird-support] (unknown)

2012-09-14 Thread Alejandro Garcia
pa 
href=http://serkanozg.eu.pn/beliefelephant/jonathanlewis40/;http://serkanozg.eu.pn/beliefelephant/jonathanlewis40//a/p


[Non-text portions of this message have been removed]



Re: [firebird-support] (unknown)

2012-07-12 Thread Gary Benade
On 7/11/2012 9:48 PM, Alexandre Benson Smith wrote:

 Em 11/7/2012 14:23, K Z escreveu:
 
  Hello,
 
  I'm still far from a expert on firebird and sql. If someone can help 
 me to improve this code, i will be grateful.
 
  1) GOAL: I need to make a search for a partial word in several 
 fields of the customers table.
 
  2) STRUCTURE: I am using a view because i join the customers table 
 with the country names table and payment conditions table.
 
 
  CREATE TABLE CLIENTES
  (
  IDCLIENTES INTEGER NOT NULL,
  CLIENTE VARCHAR(100) NOT NULL COLLATE UNICODE_CI_AI,
  MORADA VARCHAR(100) NOT NULL COLLATE UNICODE_CI_AI,
  CP VARCHAR(10) DEFAULT NULL COLLATE UNICODE_CI_AI,
  LOCALIDADE VARCHAR(50) NOT NULL COLLATE UNICODE_CI_AI,
  PAIS VARCHAR(2) DEFAULT 'PT' NOT NULL COLLATE UNICODE_CI_AI,
  TELEFONE VARCHAR(15) DEFAULT NULL COLLATE UNICODE_CI_AI,
  FAX VARCHAR(15) DEFAULT NULL COLLATE
  UNICODE_CI_AI,
  EMAIL VARCHAR(100) DEFAULT NULL COLLATE UNICODE_CI_AI,
  CONDICOES_PAGAMENTO SMALLINT DEFAULT 1 NOT NULL,
  REGIME_IVA VARCHAR(1) DEFAULT 'G' NOT NULL COLLATE UNICODE_CI_AI,
  PER_DESCONTO DECIMAL(6,2) DEFAULT 0 NOT NULL,
  NUNCA_BLOQUEAR VARCHAR(1) DEFAULT 'F' NOT NULL COLLATE UNICODE_CI_AI,
  CONTRIBUINTE VARCHAR(25) DEFAULT NULL COLLATE UNICODE_CI_AI,
  COD_CLIENTE_FAT VARCHAR(15) DEFAULT NULL COLLATE UNICODE_CI_AI,
  ATIVO VARCHAR(1) DEFAULT 'T' NOT NULL COLLATE UNICODE_CI_AI,
  VALIDADO VARCHAR(1) DEFAULT 'F' NOT NULL COLLATE UNICODE_CI_AI,
  CONSTRAINT INTEG_26 PRIMARY KEY (IDCLIENTES)
  );
 
  CREATE INDEX IDX_CLIENTES1 ON CLIENTES (CLIENTE);
  CREATE INDEX IDX_CLIENTES2 ON CLIENTES (PAIS);
  CREATE INDEX IDX_CLIENTES3 ON CLIENTES (CONDICOES_PAGAMENTO);
 
  CREATE TABLE COND_PAGAMENTO
  (
  IDCOND_PAGAMENTO INTEGER NOT NULL,
  DESCRICAO VARCHAR(45) NOT NULL COLLATE UNICODE_CI_AI,
  QTD_DIAS
  SMALLINT DEFAULT 0,
  ENTREGA_PAGAMENTO VARCHAR(1) DEFAULT 'T' NOT NULL COLLATE UNICODE_CI_AI,
  CONSTRAINT INTEG_14 PRIMARY KEY (IDCOND_PAGAMENTO)
  );
 
  CREATE TABLE PAISES
  (
  IDPAISES INTEGER NOT NULL,
  NOME VARCHAR(60) NOT NULL COLLATE UNICODE_CI_AI,
  CODIGO_ISO_3166_1 VARCHAR(2) NOT NULL COLLATE UNICODE_CI_AI,
  VALOR_PORTES DECIMAL(10,2) DEFAULT NULL,
  ISENCAO_PORTES DECIMAL(10,2) DEFAULT NULL,
  CONSTRAINT INTEG_79 PRIMARY KEY (IDPAISES)
  );
 
  CREATE VIEW LISTA_CLIENTES (COND_PAGAMENTO_DESCRICAO, PAIS_NOME, 
 IDCLIENTES, CLIENTE, MORADA, CP, LOCALIDADE, PAIS, TELEFONE, FAX, 
 EMAIL, CONDICOES_PAGAMENTO, REGIME_IVA, PER_DESCONTO, NUNCA_BLOQUEAR, 
 CONTRIBUINTE, COD_CLIENTE_FAT, ATIVO, VALIDADO)
  AS
  select cp.DESCRICAO COND_PAGAMENTO_DESCRICAO,p.NOME PAIS_NOME,c.*
  FROM CLIENTES c
  inner join PAISES p on p.CODIGO_ISO_3166_1=c.PAIS
  inner join COND_PAGAMENTO cp on
  cp.IDCOND_PAGAMENTO=c.CONDICOES_PAGAMENTO
  order by c.CLIENTE;
 
 
  3) THE SLOW QUERY: From Flamerobin i run the following query and is 
 take 60 seconds to finished:
 
  select first 20 * from LISTA_CLIENTES where (CLIENTE like '%crist%' 
 or MORADA like '%crist%' or LOCALIDADE like '%crist%' or CLIENTE like 
 '%crist%' or PAIS like '%crist%' or PAIS_NOME like '%crist%' or 
 TELEFONE like '%crist%' or EMAIL like '%crist%' or CONTRIBUINTE like 
 '%crist%' or COND_PAGAMENTO_DESCRICAO like '%crist%') order by CLIENTE
 
  If i change the query to:
 
  select first 20 * from LISTA_CLIENTES where (CLIENTE like '%crist%') 
 order by CLIENTE
 
  it runs much faster. But as more fields i had in the WHERE clause, 
 more slow it gets. I try using the CONTAINING function instead of LIKE 
 but i got no improvement. I also tried to create a PROCEDURE to speed 
 up but again not speed up on getting the result.
 
  I use this kind of code with other tables and
  it runs very fast. I also tried using MySQL for comparing and this 
 exact query runs in milliseconds. I tried to read docs in the Firebird 
 site and still no improvements.
  Can anyone help me with this problem?
 
  Thank you.
 
 

 This kind of search criteria (like '%crist%') will not use an index, so
 the size of the tables would impact on the time to get the records. I
 think that if you just filter using CLIENTE like '%crist%' is faster
 because it starts by this table, but when you put the fields from the
 other tables the optimizer thinks that will be faster to start from
 table PAIS for example, and thus the final result is slow. There is no
 way to make this kind of query to be fast, it simply cannot use any
 index to speed it up and worse sicne you are searching for the same
 information on fields from a bunch of tables the optimizer will choose
 very bad plans because it will start from the table with fewer rows even
 when the data is in fact on the larger table. CONTAINING will no help as
 you already experienced and the stored procedure will not help either...

 You could fool the optimizer forcing the table CLIENTES to be the
 first one scanned using a query like:

 CREATE VIEW LISTA_CLIENTES (COND_PAGAMENTO_DESCRICAO, PAIS_NOME, 
 IDCLIENTES, CLIENTE, MORADA, CP, 

Re: [firebird-support] (unknown)

2012-07-11 Thread Alexandre Benson Smith
Em 11/7/2012 14:23, K Z escreveu:

 Hello,

 I'm still far from a expert on firebird and sql. If someone can help me to 
 improve this code, i will be grateful.

 1) GOAL: I need to make a search for a partial word in several fields of the 
 customers table.

 2) STRUCTURE: I am using a view because i join the customers table with the 
 country names table and payment conditions table.


 CREATE TABLE CLIENTES
 (
 IDCLIENTES INTEGER NOT NULL,
 CLIENTE VARCHAR(100) NOT NULL COLLATE UNICODE_CI_AI,
 MORADA VARCHAR(100) NOT NULL COLLATE UNICODE_CI_AI,
 CP VARCHAR(10) DEFAULT NULL COLLATE UNICODE_CI_AI,
 LOCALIDADE VARCHAR(50) NOT NULL COLLATE UNICODE_CI_AI,
 PAIS VARCHAR(2) DEFAULT 'PT' NOT NULL COLLATE UNICODE_CI_AI,
 TELEFONE VARCHAR(15) DEFAULT NULL COLLATE UNICODE_CI_AI,
 FAX VARCHAR(15) DEFAULT NULL COLLATE
   UNICODE_CI_AI,
 EMAIL VARCHAR(100) DEFAULT NULL COLLATE UNICODE_CI_AI,
 CONDICOES_PAGAMENTO SMALLINT DEFAULT 1 NOT NULL,
 REGIME_IVA VARCHAR(1) DEFAULT 'G' NOT NULL COLLATE UNICODE_CI_AI,
 PER_DESCONTO DECIMAL(6,2) DEFAULT 0 NOT NULL,
 NUNCA_BLOQUEAR VARCHAR(1) DEFAULT 'F' NOT NULL COLLATE UNICODE_CI_AI,
 CONTRIBUINTE VARCHAR(25) DEFAULT NULL COLLATE UNICODE_CI_AI,
 COD_CLIENTE_FAT VARCHAR(15) DEFAULT NULL COLLATE UNICODE_CI_AI,
 ATIVO VARCHAR(1) DEFAULT 'T' NOT NULL COLLATE UNICODE_CI_AI,
 VALIDADO VARCHAR(1) DEFAULT 'F' NOT NULL COLLATE UNICODE_CI_AI,
 CONSTRAINT INTEG_26 PRIMARY KEY (IDCLIENTES)
 );

 CREATE INDEX IDX_CLIENTES1 ON CLIENTES (CLIENTE);
 CREATE INDEX IDX_CLIENTES2 ON CLIENTES (PAIS);
 CREATE INDEX IDX_CLIENTES3 ON CLIENTES (CONDICOES_PAGAMENTO);

 CREATE TABLE COND_PAGAMENTO
 (
 IDCOND_PAGAMENTO INTEGER NOT NULL,
 DESCRICAO VARCHAR(45) NOT NULL COLLATE UNICODE_CI_AI,
 QTD_DIAS
   SMALLINT DEFAULT 0,
 ENTREGA_PAGAMENTO VARCHAR(1) DEFAULT 'T' NOT NULL COLLATE UNICODE_CI_AI,
 CONSTRAINT INTEG_14 PRIMARY KEY (IDCOND_PAGAMENTO)
 );

 CREATE TABLE PAISES
 (
 IDPAISES INTEGER NOT NULL,
 NOME VARCHAR(60) NOT NULL COLLATE UNICODE_CI_AI,
 CODIGO_ISO_3166_1 VARCHAR(2) NOT NULL COLLATE UNICODE_CI_AI,
 VALOR_PORTES DECIMAL(10,2) DEFAULT NULL,
 ISENCAO_PORTES DECIMAL(10,2) DEFAULT NULL,
 CONSTRAINT INTEG_79 PRIMARY KEY (IDPAISES)
 );

 CREATE VIEW LISTA_CLIENTES (COND_PAGAMENTO_DESCRICAO, PAIS_NOME, IDCLIENTES, 
 CLIENTE, MORADA, CP, LOCALIDADE, PAIS, TELEFONE, FAX, EMAIL, 
 CONDICOES_PAGAMENTO, REGIME_IVA, PER_DESCONTO, NUNCA_BLOQUEAR, CONTRIBUINTE, 
 COD_CLIENTE_FAT, ATIVO, VALIDADO)
 AS
 select cp.DESCRICAO COND_PAGAMENTO_DESCRICAO,p.NOME PAIS_NOME,c.*
 FROM CLIENTES c
 inner join PAISES p on p.CODIGO_ISO_3166_1=c.PAIS
 inner join COND_PAGAMENTO cp on
   cp.IDCOND_PAGAMENTO=c.CONDICOES_PAGAMENTO
 order by c.CLIENTE;


 3) THE SLOW QUERY: From Flamerobin i run the following query and is take 60 
 seconds to finished:

 select first 20 * from LISTA_CLIENTES where (CLIENTE like '%crist%' or MORADA 
 like '%crist%' or LOCALIDADE like '%crist%' or CLIENTE like '%crist%' or PAIS 
 like '%crist%' or PAIS_NOME like '%crist%' or TELEFONE like '%crist%' or 
 EMAIL like '%crist%' or CONTRIBUINTE like '%crist%' or 
 COND_PAGAMENTO_DESCRICAO like '%crist%') order by CLIENTE

 If i change the query to:

 select first 20 * from LISTA_CLIENTES where (CLIENTE like '%crist%') order by 
 CLIENTE

 it runs much faster. But as more fields i had in the WHERE clause, more slow 
 it gets. I try using the CONTAINING function instead of LIKE but i got no 
 improvement. I also tried to create a PROCEDURE to speed up but again not 
 speed up on getting the result.

 I use this kind of code with other tables and
   it runs very fast. I also tried using MySQL for comparing and this exact 
 query runs in milliseconds. I tried to read docs in the Firebird site and 
 still no improvements.
 Can anyone help me with this problem?

 Thank you.



This kind of search criteria (like '%crist%') will not use an index, so 
the size of the tables would impact on the time to get the records. I 
think that if you just filter using CLIENTE like '%crist%' is faster 
because it starts by this table, but when you put the fields from the 
other tables the optimizer thinks that will be faster to start from 
table PAIS for example, and thus the final result is slow. There is no 
way to make this kind of query to be fast, it simply cannot use any 
index to speed it up and worse sicne you are searching for the same 
information on fields from a bunch of tables the optimizer will choose 
very bad plans because it will start from the table with fewer rows even 
when the data is in fact on the larger table. CONTAINING will no help as 
you already experienced and the stored procedure will not help either...

You could fool the optimizer forcing the table CLIENTES to be the 
first one scanned using a query like:

CREATE VIEW LISTA_CLIENTES (COND_PAGAMENTO_DESCRICAO, PAIS_NOME, IDCLIENTES, 
CLIENTE, MORADA, CP, LOCALIDADE, PAIS, TELEFONE, FAX, EMAIL, 
CONDICOES_PAGAMENTO, REGIME_IVA, PER_DESCONTO, NUNCA_BLOQUEAR, CONTRIBUINTE, 
COD_CLIENTE_FAT, 

[firebird-support] (unknown)

2011-11-14 Thread Opcode Software
http://insidegraduates.co.za/modules/mod_wdbanners/yes.php?html1

[Non-text portions of this message have been removed]