[firebird-support] Re: Firebird server maximum number of simultaneous connections

2013-04-10 Thread mariuz


--- In firebird-support@yahoogroups.com, frodrigues_fcprd 
francisco.rodrigues.fcpr@... wrote:

 Hi,
 
 We are using a set of 20 databases that are accessed simultaneously by 20 (or 
 more) applications (each one with multiple threads). These applications 
 (written in c# and using the FirebirdSql.Data.FirebirdClient.dll) basically 
 retrieve records from the database, perform a special processing (IO bound 
 not CPU bound) and update the database with the results.
 
 Originally we had a single database but decided to split it in order to 
 separate the processing across multiple servers if necessary.
 
 We are not concerned with the response time of the database but we would like 
 to known if there is a limit for the number of connections that the firebird 
 server can support. We would like to run as much applications and threads as 
 possible in order to speed up the processing of the database records but we 
 do not known how many connections the firebird server can support. The 
 applications and the firebird server will be executed in the same computer.


It is limited by the resources that you have Memory and CPU (the more the 
better)

Firebird can be capable to sustain more than 2500 connections with proper big 
iron servers

http://www.firebirdnews.org/?p=6797



[firebird-support] Re: Does anyone know ExitCode/ErrorLevel values for gfix?

2013-04-10 Thread un_spoken
Thank you.

I will provide one more test for firebird 2.5.2. I have a corrupted base, I 
will see what gfix says after running it. I think that it should return 1 as an 
error code. Or atleast error code  0.



[firebird-support] Re: Does anyone know ExitCode/ErrorLevel values for gfix?

2013-04-10 Thread un_spoken
Ok, I've checked this with gfix version: gfix version WI-V2.5.1.26351 Firebird 
2.5

According to stackoverflow: I can test the error result of application like 
this: 
http://stackoverflow.com/questions/3452046/get-error-code-from-within-a-batch-file

So I did a batch file and executed it:

C:\Program Files (x86)\Firebird\Firebird_2_5\bingfix -validate C:\Program 
Files (x86)\Firebird\Firebird_2_5\bin\MYBASE-3334.FDB -user SYSDBA -password 
masterkey -no_update  echo Done!
Summary of validation errors
Number of database page errors  : 17
Done!


As you see, even with errors in database gfix will return me errorcode = 0.

So as far as I see it, there is no reliable way to tell programmatically 
whether gfix detected error or not.

Best regards.



[firebird-support] Re: Does anyone know ExitCode/ErrorLevel values for gfix?

2013-04-10 Thread hvlad


--- In firebird-support@yahoogroups.com, un_spoken wrote:
 
 I will provide one more test for firebird 2.5.2. I have a corrupted base, I 
 will see what gfix says after running it. I think that it should return 1 as 
 an error code. Or atleast error code  0.


  You think wrong.

  Command line utilities set non-zero exit code if error happens in utility 
itself. So, even for havy corrupted database gfix will not set error code to 
non-zero if server can validate database and API call's returns without errors. 
Because *gfix itself* works without failure.

  Use Service API if you need to know validation result in your application.

Regards,
Vlad



Re: [firebird-support] Re: Does anyone know ExitCode/ErrorLevel values for gfix?

2013-04-10 Thread Helen Borrie
At 08:43 p.m. 10/04/2013, un_spoken wrote:
Ok, I've checked this with gfix version: gfix version WI-V2.5.1.26351 Firebird 
2.5

According to stackoverflow: I can test the error result of application like 
this: 
http://stackoverflow.com/questions/3452046/get-error-code-from-within-a-batch-file

So I did a batch file and executed it:

C:\Program Files (x86)\Firebird\Firebird_2_5\bingfix -validate C:\Program 
Files (x86)\Firebird\Firebird_2_5\bin\MYBASE-3334.FDB -user SYSDBA -password 
masterkey -no_update  echo Done!
Summary of validation errors
Number of database page errors  : 17
Done!


As you see, even with errors in database gfix will return me errorcode = 0.

So as far as I see it, there is no reliable way to tell programmatically 
whether gfix detected error or not.

Quite correct.  Error codes are returned when the *program* cannot complete 
because of an error. 


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



[firebird-support] Re: Does anyone know ExitCode/ErrorLevel values for gfix?

2013-04-10 Thread un_spoken
 
   You think wrong.
 
   Command line utilities set non-zero exit code if error happens in utility 
 itself. So, even for havy corrupted database gfix will not set error code to 
 non-zero if server can validate database and API call's returns without 
 errors. Because *gfix itself* works without failure.
 

Actually it is totally up to the developer to decide what and in which 
circumstances an exit code will be returned. 



Re: [firebird-support] Re: Does anyone know ExitCode/ErrorLevel values for gfix?

2013-04-10 Thread Doug Chamberlin
I agree.

Over the years I've used and built dozens of utility programs that use the
error code return value to reflect various status values unrelated to the
basic utility operation. Typically 0 means no problems, positive values
mean basic ops problem (serious operating errors), negative values mean
result status (operating normally).



On Wed, Apr 10, 2013 at 7:45 AM, un_spoken brucedickin...@wp.pl wrote:


You think wrong.
 
Command line utilities set non-zero exit code if error happens in
 utility itself. So, even for havy corrupted database gfix will not set
 error code to non-zero if server can validate database and API call's
 returns without errors. Because *gfix itself* works without failure.
 

 Actually it is totally up to the developer to decide what and in which
 circumstances an exit code will be returned.



 

 ++

 Visit http://www.firebirdsql.org and click the Resources item
 on the main (top) menu.  Try Knowledgebase and FAQ links !

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

 ++
 Yahoo! Groups Links






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



[firebird-support] Re: Does anyone know ExitCode/ErrorLevel values for gfix?

2013-04-10 Thread un_spoken

--- In firebird-support@yahoogroups.com, Doug Chamberlin
chamberlin.doug@... wrote:

 I agree.

 Over the years I've used and built dozens of utility programs that use
the
 error code return value to reflect various status values unrelated to
the
 basic utility operation. Typically 0 means no problems, positive
values
 mean basic ops problem (serious operating errors), negative values
mean
 result status (operating normally).


Indeed.

To be perfectly strict these are not Error Codes but Exit Codes which
can (as you said) reflect various states.



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



Re: [firebird-support] No free space found in temporary directories operating system ..WriteFile failed

2013-04-10 Thread Mark Rotteveel
On Wed, 10 Apr 2013 12:53:05 -, wan30032 wan30...@yahoo.com wrote:
 hello,
 
 I create index .
 
 the message in FlameRobin:
 
 *** IBPP::SQLException ***
 Context: Transaction::Commit
 
 SQL Message : -901
 can't format message 13:99 -- message file C:\Windows\firebird.msg not
 found
 
 Engine Code: 335544675
 Engine Message :
 sort error
 No free space found in temporary directories
 operating system directive WriteFile failed
  
 
 Rolling back the transaction...
 Done.
 
 sql :
   CREATE INDEX INDEX1 ON T1  
   (I1,I2,I3,I4,I5,I6,I7,I8,I19,I10,I11,I12,I13,I14,I15,I16);
 COMMIT;
 
 The Database is : D:\FB\DB.FDB
 
 There are 881GB in D: and DB.FDB is 372GB ,and 508GB is free.
 
 
 (win7 64 +  Firebird 2.5.2.26540 64)
 
 tks.

It could also mean that the user running the Firebird server does not have
access to the temporary file folder, or the temporary file folder is not
defined.

Mark


[firebird-support] Re: No free space found in temporary directories operating system ..WriteFile failed

2013-04-10 Thread wan30032

 It could also mean that the user running the Firebird server does not have
 access to the temporary file folder, or the temporary file folder is not
 defined.
 
 Mark


change file :firebird.conf

  #TempDirectories =
  
  TempDirectories = D:\



[firebird-support] Re: No free space found in temporary directories operating system ..WriteFile failed

2013-04-10 Thread wan30032


--- In firebird-support@yahoogroups.com, wan30032 wan30032@... wrote:

 
  It could also mean that the user running the Firebird server does not have
  access to the temporary file folder, or the temporary file folder is not
  defined.
  
  Mark
 
 
 change file :firebird.conf
 
   #TempDirectories =
   
   TempDirectories = D:\

is that right? tks




Re: [firebird-support] Database version

2013-04-10 Thread Stefan Heymann
 what is the best approach to assign a version to the database.
 Let's say it's starts with 1.0.1.1 then 1.0.1.2.. etc,,
 I'm looking at storing it with the DB itself. Is there a way to
 store it and read it from system variables?..
 I wanted to use a DB field but it sounds too much for what I want to 
 accomplish.

I use plain integers (1, 2, 3, ...) as schema version numbers and
store them in a table (with a key and value column) that I also use
for other general settings.


Regards

Stefan




Re: [firebird-support] Database version

2013-04-10 Thread Woody
From: halim1973 halim1...@yahoo.com

 Hello,
 what is the best approach to assign a version to the database.
 Let's say it's starts with 1.0.1.1 then 1.0.1.2.. etc,,
 I'm looking at storing it with the DB itself. Is there a way to store it 
 and read it from system variables?..
 I wanted to use a DB field but it sounds too much for what I want to 
 accomplish.


I use a separate table in the database to record DDL updates. Each sequence 
of DDL/SQL commands for updating the database are numbered with a version 
number in the form of xx.yy.zz. That sequence, the date and the SQL are 
stored in the table so it can only be run once. I wrote my own separate 
utility for maintaining and performing the updates so it's easy to build 
into each app I make.

HTH
Woody (TMW)
 



[firebird-support] Isql manual updated to version 0.5

2013-04-10 Thread Norman Dunbar
The manual for isql has been hugely updated, tidied up and is now online 
at 
http://www.firebirdsql.org/file/documentation/reference_manuals/user_manuals/html/isql.html
 
for the html and at 
http://www.firebirdsql.org/file/documentation/reference_manuals/user_manuals/Firebird-isql.pdf
 
for the pdf version.

If you get an older version that document 0.5 then the cache needs to be 
flushed.

It's still not fully complete, but it's a lot further down the line than 
before.


Cheers,
Norm.

-- 
Norman Dunbar
Dunbar IT Consultants Ltd

Registered address:
Thorpe House
61 Richardshaw Lane
Pudsey
West Yorkshire
United Kingdom
LS28 7EL

Company Number: 05132767


[firebird-support] Using Wide-Functions on unixODBC fails

2013-04-10 Thread Daniel Vogelbacher
Hi,

when using the Firebird ODBC driver with unixODBC, the Wide-Functions
like SQLExecDirectW fails.

UnixODBC defines SQLWCHAR as a 2-Byte value. I've transformed my
wchar_t* strings to UCS2 and call SQLExecDirectW() with them.

Here is the trace (debug version):


SQLExecDirectW
Preparing statement:
INSERT INTO FOO VALUES(NU
Preparing statement:
INSERT INTO FOO VALUES(NU

HY000:1:-104:[ODBC Firebird Driver][Firebird]Dynamic SQL Error
SQL error code = -104
Unexpected end of command - line 1, column 24


It seems that something in the ODBC driver truncates the
statement to the half. A short look into the code shows this function
inside the ConvertingString template (MainUnicode.cpp):


SQLCHAR * convUnicodeToString( SQLWCHAR *wcString, int length )
{
size_t bytesNeeded;
wchar_t *ptEndWC = NULL;
wchar_t saveWC;

if ( length == SQL_NTS )
length = (int)wcslen( (const wchar_t*)wcString );
...


I think the problem is that wcslen() expects a whar_t (4 bytes) sequence,
while SQLWCHAR is 2 bytes long.


Because I'm unsure if my code is correct, I've tested the same with
python3 and pyodbc (which uses the wide-functions, too).
This results in the same issue, so using the firebird odbc driver
with pyodbc/python3 is impossible for the moment.


Could anyone confirm this issue?



-- 
 Daniel Vogelbacher
 www.chaospixel.com
 cytrinox@freenode/ircnet/quakenet



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