I am integrating a system with 2 other applications, 1 using a Firebird database whilst the other BIS (using ADO). My delphi application uses Firebird. I need to read data from my database, insert it into both the BIS database and the other application firebird database. I have created seperate data modules for each. Sending data to the ADO works fine, but when writing to the other Firebird DB (my db still open) I get strange errors. I have managed to isolate the problem to the second开发者_如何转开发 firebird DB. Small data writes seems fine.
The data structures are completly different, so un able to use a synch tool.
is there a way to overcome this by using multi threading or seperate memory space each Firebird instance uses?
I don't use DataModules, but routinely access (both read/write) multiple databases all the time using multiple TAdoConnection/TAdoQuery for each database.
- For each database create a TAdoConnection. I have never accessed Firebird, but from what I can gather it is just like Interbase; so you should be able to access it with TAdoConnection.
- Create a corresponding TAdoQuery query for each database.
- Open each query separately.
- After you are done make sure to free everything.
From the sounds of it, seems like you might be using a single database connection to one Firebird database (most likely "Yours").
Another consideration: Check that a query to the 2nd database yields the intended results and fields.
精彩评论