[firebird-support] Executing isql without server running

2020-01-29 Thread Rustam rusta...@ukr.net [firebird-support]
If you need be shure that no one connect to your DB whe you do your maintenance 
- use 'shutdown database' technique.



  

I will just start my server process then. Just thought I could do the DB 
patching in a kind of maintenance mode using isql directly.




[firebird-support] Executing isql without server running

2020-01-29 Thread Rustam rusta...@ukr.net [firebird-support]
In FB 2.5 you need 'embed' version of client dll. Download archive with 'embed' 
version. Unpack into empty dir. Rename 'fbembed.dll' to 'fbclient.dll'.
Copy isql.exe into that dir and try.
For FB 3.0 may need some config in 'firebird.conf'. Possibly need enabling 
'embedded provider'.
In all cases must be no other connections to that DB and DB must can be 
accessed locally in file system.

29 січня 2020, 13:01:21, від "Matthias Winkler spmm...@gmail.com 
[firebird-support]" :


  
Hi, 
I thought there was a way to work on a fdb file with just isql and without the 
firebird 
process running. But I cannot find the syntax anymore. If I just give a
path /path/to/db.fdb I still get an error saying "cannot connect to localhost 
-902"

Any ideas?


[firebird-support] Identity vs Before Insert Trigger

2019-10-31 Thread Rustam rusta...@ukr.net [firebird-support]
As i understand your question - yes. BI trigger fired before column constraints 
check. To allow you process and correct row to store without errors.

Execution sequence: BI trigger -> default values -> not null -, FK-, check- 
constraints ->  record storing -> AI triggers.


However, the same query works without issue with a before-insert trigger 
using a generator. My question - is this intended behavior? Or a bug in 
the identity implementation?
-- 
Daniel




[firebird-support] Identity vs Before Insert Trigger

2019-10-31 Thread Rustam rusta...@ukr.net [firebird-support]
For my previous message: and if you do not correct 'null' value in BI trigger, 
next you get an 'validation error'.



[firebird-support] Migrating from 1.56 to FB 3 - making good progress

2019-10-02 Thread Rustam rusta...@ukr.net [firebird-support]
 
  The trick is populating the 3.0 database. I know there are data pump tools 
out there but they seem to be old?
Use "Extract Metadata" feauture of IBExpert with table data extraction


My question: 
 Now that my 1.56 metadata script works w/out error with the 3.0 database, can 
I simply backup the 1.56 database and restore under FB 3?

Try. If does not work - migrate to FB 2.0 using corresponding tutorial (if 
any), then to FB 2.5.9, then to FB 3.

E.g., backup DB with FB 1.5 -> restore with FB 2.0 -> backup with FB 2.0 -> 
restore with FB 2.5 -> backup with FB 2.5 -> restore with FB 3

At least 2.5 to 3.0 works perfect. Just download archives with required 
versions of FB (you need 'bin' directory with gbak.exe), and create bat-script 
with commands.





[firebird-support]using parameters with EVENT firebird 2.5+

2019-09-20 Thread Rustam rusta...@ukr.net [firebird-support]
I am also looking for somthing like that. Typical task - inform clients about 
changes in some records: client need an record ID.

  

It's hardly compatible with the existing events architecture and API, so 
I'm still somewhat sceptical about its implementation.

 Dmitry


I don't now API details, but my idea: what if we can specify 'mask' in Event 
name on clients, e.g.  "ORDER_CHANGED*"?



Then client subscribes to event "ORDER_CHANGED*", and his code receive all 
events, who name is starting with "ORDER_CHANGED".

On DB side in trigger we can fire event like that:

post_event('ORDER_CHANGED' || new.ID)



In client's code he get an actual event name, like ' ORDER_CHANGED'. Then 
he can parse received string as he need.









[firebird-support] "could not convert variant of type (null) into type (currency)"

2019-08-28 Thread Rustam rusta...@ukr.net [firebird-support]
If your client app written in Delphi, there is bad usage of Variant type in 
your code (or external components).

Absent one of checks when converting Variant to Currency, e.g.:



procedure TForm1.Button1Click(Sender: TObject);
var
   C: Currency;
   V: Variant;
begin
   V := 10;
   C := V; // Works
   Edit1.Text := FloatToStr(C);

   V := Null;
   C := V; // Error
   Edit1.Text := FloatToStr(C);

   V := Null;
   // Correct usage
   if VarIsNull(V) then C := 0 else C := V;
   Edit1.Text := FloatToStr(C);  
end;



[firebird-support] string right truncation error with LIKE predicate and UTF8 DB

2019-07-15 Thread Rustam rusta...@ukr.net [firebird-support]
Video demonstration of bug in our discussion:

http://dl.free.fr/inU3HYrcm
http://zalil.su/3558776


[firebird-support] Connecting to database on remote server

2019-07-08 Thread Rustam rusta...@ukr.net [firebird-support]
Read here about connection strings: 
https://firebirdsql.org/file/documentation/reference_manuals/user_manuals/html/qsg3-databases.html

Run "Command prompt" and enter command:
>ping FIREBIRDSERVER

If 'ping' command failed - use an IP address instead:
>ping xxx.xxx.xxx.xxx
If succeeded - use IP instead 'FIREBIRDSERVER' in connection string

Additionally. As I understand, your Firebird server is installed on Windows 
('FIREBIRDSERVER').
By default "Windows Firewall" blocks incoming connections from network.
Open 'Windows Firewall', create 'inbound' rule to allow connections to TCP port 
3050 from LAN.

Watch this my video how to install and configure Firebird on Windows: 
http://rgho.st/private/6xRXbzJqH/4d0ee11d53c142ea2590e648bc363f8f
(It is about installation one of our applications, so you can skip second half 
of video)


8 липня 2019, 14:32:48, від "Tony Christiansen t...@adegroup.com.au 
[firebird-support]" :


  Hi Rustam

Where is an explanation of the different connection strings.

I am using a TIBDatabase in Delphi 
With databasename property set to \\FIREBIRDSERVER\E:\DB.FDB it connects
With databasename property set to FIREBIRDSERVER:E:\DB.FDB it does not connect 
with error  unable to complete network request to host "FIREBIRDSERVER"

My environment is windows and without the \\ the client cannot find the host.

Thanks for your assistance
Tony



[firebird-support] problem connecting to database on remote server

2019-07-03 Thread Rustam rusta...@ukr.net [firebird-support]
Replace "ADE-VM" with IP-address of your server. Check if server's Firewall 
allow incoming connections to port 3050.

Run ISQL on DB server ("ADE-VM") and try this command:

SQL> CONNECT '127.0.0.1:E:\T\CASHMANAGER.FDB' user SYSDBA password masterkey;

3 липня 2019, 17:45:15, від "Tony Christiansen t...@adegroup.com.au 
[firebird-support]" :


  Hi Rustam

With that syntax even the connection to the C: drive fails (Server is Windows 
10)

SQL> CONNECT \\ADE-VM\C:\T\CASHMANAGER.FDB user SYSDBA password masterkey;
Database: \\ADE-VM\C:\T\CASHMANAGER.FDB, User: SYSDBA
SQL> CONNECT ADE-VM:C:\T\CASHMANAGER.FDB user SYSDBA password masterkey;
Commit current transaction (y/n)?n
Rolling back work.
Statement failed, SQLSTATE = 08006
Unable to complete network request to host "ADE-VM".
-Failed to establish a connection.
SQL>
On 4/07/2019 12:25 am, Rustam rusta...@ukr.net [firebird-support] wrote:



[firebird-support] problem connecting to database on remote server

2019-07-03 Thread Rustam rusta...@ukr.net [firebird-support]
Remote connection string must look like:

"ADE-VM:E:\T\CASHMANAGER.FDB"




3 липня 2019, 17:16:05, від "Tony Christiansen t...@adegroup.com.au 
[firebird-support]" :


  Hi all

I have firebird 3 installed on a server ADE-VM

I run isql from my machine and connect to a test database on C: without 
error
But when I try to connect to a copy of the test database on E: it gives 
the following error.

I do not know why the drive makes a difference. The firebird.conf file 
has databaseaccess=full (default)

I can open both databases on the remote server itself.

Thanks for any assistance
Tony

SQL> CONNECT \\ADE-VM\C:\T\CASHMANAGER.FDB user SYSDBA password masterkey;
Database: \\ADE-VM\C:\T\CASHMANAGER.FDB, User: SYSDBA
SQL> CONNECT \\ADE-VM\E:\T\CASHMANAGER.FDB user SYSDBA password masterkey;
Commit current transaction (y/n)?n
Rolling back work.
Statement failed, SQLSTATE = 08006
Unable to complete network request to host "E".
-Failed to locate host machine.
-The specified name was not found in the hosts file or Domain Name Services.



[firebird-support] FB 2.1 transaction question

2019-05-17 Thread Rustam rusta...@ukr.net [firebird-support]
Sometimes our application works from remote place via VPN over wireless 
Internet connection. Often connections brakes and we have active DB connections 
in MON$ATTACHMENTS for a long time and their TA's blocks further work. Is this 
same case as in your reply?
At least we receive an errors in 'unique' indexes - we use artificial counters 
in special table to generate sequential document numbers for each employee. So, 
when employee reconnect to continue his work - he can't create new document: 
TA, who was increase this counter, was broken and was not committed, so new 
document watch an old counter, and gets an already used next counter value. But 
previous document in broken TA, that uses his next counter value, was inserted 
in respective table and his number is already in unique index (but invisible 
for new TA's).
This belongs not only for counters. E.g., we create a customer with unique 
short name, and when we reconnect after connection lose - we can't re-create 
customer with this short name, until broken connection will closed.
Firebird version: 2.5.8.


For such extremal cases your application can present for SYSDBA special window 
that shows table with data from MON$ATTACHMENTS (login, connection's start 
date, client IP, app name).
Deleting record from MON$ATTACHMENTS will close connection, so you can continue.

Again, only necessary in the case where the connection remains active while the 
transaction is stalled.
_._,___


[firebird-support] FB 2.1 transaction question

2019-05-13 Thread Rustam rusta...@ukr.net [firebird-support]
Important notice: modified rows in that 'dead' transaction remains locked along 
this TA existence. So, your another connections will get 'lock conflict' errors 
('no wait' TA's), or waiting forever ('wait' TA's) when try to modify same 
rows. Even if you just want reconnect on unexpected connection lose and finish 
your previous work.

For such extremal cases your application can present for SYSDBA special window 
that shows table with data from MON$ATTACHMENTS (login, connection's start 
date, client IP, app name).
Deleting record from MON$ATTACHMENTS will close connection, so you can continue.




  The data isn't committed, so it isn't visible to any other transaction. 
If a connection is closed with an active transaction, the transaction 
will eventually be rolled back by Firebird. See also "“Dead” 
transactions" in the Firebird book.

 Mark Rotteveel



[firebird-support] Ubuntu 18.04 Firebird 3.03 Server Connection String: Local Works, URL-Style Fails

2019-04-05 Thread Rustam rusta...@ukr.net [firebird-support]
Check your FB client library. May be you are using 'embed' version ('fbembed' 
instead of 'fbclient', or 'fbembed' renamed to 'fbclient')


[firebird-support] Can I restrict sysdba to login from localhost?

2019-03-13 Thread Rustam rusta...@ukr.net [firebird-support]
Another possible solution - create background application that sits on server, 
connected to DB and periodically check MON$ATTACHMENTS table.
 If SYSDBA from remote computer there - kill connection.




> I suppose, you can create ON CONNECT trigger and verify 'current_user' and 
> client remote 
> IP address against '127.0.0.1' (from MON$ATTACHMENTS table).

   No, SYSDBA is able to bypass them.


-- 
   WBR, SD.



[firebird-support] Can I restrict sysdba to login from localhost?

2019-03-13 Thread Rustam rusta...@ukr.net [firebird-support]
I suppose, you can create ON CONNECT trigger and verify 'current_user' and 
client remote IP address against '127.0.0.1' (from MON$ATTACHMENTS table).
If don't match - raise DB exception.


13.03.2019 9:06, cyc...@gmail.com wrote:
> Can I restrict the sysdba to be able to login to firebird server on localhost 
> only?

   No. But you can remove SYSDBA account at all and let it use trusted auth or 
embeded mode.






[firebird-support] Firebird 3.0.4: problem connecting to test DB

2019-01-15 Thread Rustam rusta...@ukr.net [firebird-support]
Try:

SQL> CONNECT '127.0.0.1:C:\Firebird\test.fdb' user 'SYSDBA' password 'xxxx';

 
  

2. Why I cannot connect to the database I have just created?

I would appreciate any response.

Sincerely,
Konstantin
_


[firebird-support] Reading emails of yahoogroups is a penitence.

2018-12-04 Thread Rustam rusta...@ukr.net [firebird-support]
In my browser i see all email contents and Yahoo topics correct. Check your 
browser settings, try cleanup cache. Or your mail server remove/replace some 
styles from messages.

04 грудня 2018, 11:31:46, від "Eduard Calveras ecalve...@inforserveis.es 
[firebird-support]" :

  Hello,

Maybe is not the site where I might write this problem, but any of you can see 
the next capture correctly?
Can you read the sentence: "I suppose this is a bug...?"  
I think that is a problem of development of this site because in the 
declaration body there is:

  And the font color, where is it?



[firebird-support] Firebird 3.0.4 Ubuntu 18.04.1 64bits ICU problems

2018-12-03 Thread Rustam rusta...@ukr.net [firebird-support]
Try 'backup' your DB on working machine/OS, then 'restore' from *.fbk on 
problematic server.

03 грудня 2018, 15:30:02, від "Luis Forra luis.fo...@gmail.com 
[firebird-support]" :

  

I cant use UTF8 databases in 18.04.1 LTS,

I instaled libicu-dev

the error in firebird.log is 

crescer Mon Dec  3 12:56:11 2018
        initUnicodeCollation failed - UnicodeUtil::Utf16Collation::create failed

Any ideias ?

Thank you

Luis Forra
---



Re: [firebird-support] Possible bug in 2.5.1.26351

2018-11-02 Thread Rustam rusta...@ukr.net [firebird-support]
 02.11.2018, 12:36:23, from "Mark Rotteveel": 

  Sorry, no, I can't do that for you. You'll need to file it with all 
relevant reproduction information.

 Mark
I think, there is enough information in mailing list topic. Only need a someone 
who will create bug report.


Re: [firebird-support] Possible bug in 2.5.1.26351

2018-11-02 Thread Rustam rusta...@ukr.net [firebird-support]
01.11.2018, 21:32:22, from "Mark Rotteveel" : 

  That sounds like a bug to me. Did you report it in the tracker?


Nop. Can you do it? If you do - send tracker topic link to us.





Re: [firebird-support] Possible bug in 2.5.1.26351

2018-11-01 Thread Rustam rusta...@ukr.net [firebird-support]


 29.10.2018, 23:18:40, from "Mark Rotteveel "

 > The selection of character sets has a number of potentially far-reaching 
implications that I can't simply cover in an email. But a number of  effects 
are:

> - it will restrict the maximum column length to max 8191 characters.
> - given index column size is limited by page size, it may require you to use 
> smaller columns if they need an index.


I'am encounter a bug with LIKE operator, when DB charset is UNICODE and 
connection chaset is national, e.g. WIN1251.
There is an error when LIKE argument has national characters and has no mask 
symbols '%', '_'.

Discussion - here: 
https://groups.yahoo.com/neo/groups/firebird-support/conversations/topics/131512



[firebird-support] MON$Attachment privileges

2018-05-15 Thread Rustam rusta...@ukr.net [firebird-support]
> This break logic in our application.

Agree - I don't supply role on connection in my apps at all, but to allow user 
to view attachments I must do this. Also, I need a possibility to grant 
privileges to regular user for managing server users (like SYSDBA) - as i know 
this is possible, but much more overhead then for MON$ATTACHMENTS.


> Hi,
> 
> 
> thank you. I see that in FB3 this is the only way :(
> This break logic in our application. Regular user ca not have privileges to 
> change db structure but with RDB$Admin role he can :(
> I see that this is implemented only in FB4
> tracker.firebird.org/browse/CORE-2557
> 


[firebird-support] MON$Attachment privileges

2018-05-15 Thread Rustam rusta...@ukr.net [firebird-support]
To do this you must follow this steps (for FB 2.5):


- grant role RDB$ADMIN to user in your working DB  
- user must login with RDB$ADMIN role into your DB.


After that he can access MON$ATTACHMENTS.

 


  Hi,
 
how can i grant select on MON$Attachements to normal user
that he/she can see all attachements not only self?
 
I use Firebird 3.
 
regards,
Karol Bieniaszewski





[firebird-support] Cannot open database file in local hard disk

2018-02-20 Thread Rustam rusta...@ukr.net [firebird-support]
1) Check user access rights on DB folder/file and account, under which Firebird 
server is running
2) Why you don't use latest 2.5.8 version of Firebird?


[firebird-support] convert a string to a number in a where clause - without errors

2018-01-16 Thread Rustam rusta...@ukr.net [firebird-support]
I think better way is to control input on client.
If this is impossible you can try "spike": write selectable stored procedure 
with exception handler "when any do ..."


[firebird-support] Query and problem with nulls

2018-01-04 Thread Rustam rusta...@ukr.net [firebird-support]
Try use explicit JOIN here:







FROM
  DOC_CORPO DC, DOC_TESTA DT