Main   Products   Offshore Outsourcing   Customers   Partners   ContactUs  
JDBC Databases
  HXTT Access v5.2
  HXTT Cobol v2.1
  HXTT DBF v5.2
 
  Buy Now
  Support
  Download
  Document
  FAQ
  HXTT Excel v4.2
  HXTT Paradox v5.2
  HXTT Text(CSV) v5.2
  HXTT XML v1.2
Offshore Outsourcing
Oracle Data Import/Export
DB2 Data Import/Export
Sybase Data Import/Export
Free Resources
  Firewall Tunneling
  Search Indexing Robot
  Conditional Compilation
  Password Recovery for MS Access
  Password Recovery for Corel Paradox
  Checksum Tool for MD5
  Character Set Converter
  Pyramid - Poker of ZYH
   
   
   
Heng Xin Tian Tai Ltd. of Beijing City (abbr, HXTT)

HXTT DBF
HXTT causing index/data corruption?
Kevin Penrose
2017-01-20 10:26:25.0
I am using the 5.2 version of HXTT DBF in a java client application. The client application accesses the FoxPro database through a Glassfish 4.1 server, which has a connection pool for the hxtt server set up to access the data though url jdbc:dbf://10.20.10.215:8050/C:/_groups/Rawmat/data. I have set lockType to VFP as a property on the JDBC connection pool.
HXTT is running as a windows service. Most of the queries are written using JPA compliant calls, some using CriteriaQuery and some using native queries.
I have had absolutely zero problems reading and writing data.
HOWEVER, on the FoxPro application side, there has lately been issues of data corruption, and indexes being damaged. We've been using the HXTT server since last July, but the problems seems to have only started happening in the last month or so; but management is convinced that HXTT is somehow responsible and is considering removing it from our production environment.
I have enabled logging for the HXTT server, and over the last 24 hours there haven't been any errors reported by HXTT, but we have again experienced a corrupt index in one of the database files.
I can provide any additional information needed, but I'm at a loss to pinpoint the cause. Any help you can provide would be greatly appreciated.

--Kevin
Re:HXTT causing index/data corruption?
HXTT Support
2017-01-21 00:46:16.0
First, you should download the latest package since you're using an older package on May, 2016.

> which has a connection pool for the hxtt server set up to access the data though url jdbc:dbf://10.20.10.215:8050/C:/_groups/Rawmat/data. I have set lockType to VFP as a property on the JDBC connection pool.
Secondly, you're using a DBFServer at 10.20.10.215, then you should set the jdbc url of DBFServer as jdbc:dbf://10.20.10.215:8050/C:/_groups/Rawmat/data?lockType=VFP . Because your client package can't assign more connection property than Server side.
Re:Re:HXTT causing index/data corruption?
Kevin Penrose
2017-01-21 09:05:16.0
So, I should set the url in the urlconfig file to have lockType? I have been setting the extra flags, like lockType, nullAsString and nullAsZero flags in the properties of the glassfish connection.
Should I also set the others in the urlconfig file also?
Re:Re:Re:HXTT causing index/data corruption?
HXTT Support
2017-01-21 17:05:59.0
Checked. Other connection properties can be assigned at client side.

> I have set lockType to VFP as a property on the JDBC connection pool.
What's your JDBC connection pool?
Re:Re:Re:Re:HXTT causing index/data corruption?
Kevin Penrose
2017-01-23 08:04:48.0
Sorry, not sure what you're asking. The JDBC connection pool is set up on the glassfish server, using the url with the lockType set and having connection properties of emptyStringAsNull set to false and emptyDecimalAsZero set to true.
The only difference I'm using now is that I have configured the urlconfig file for the window service to contain the lockType in the connection URL also.
Re:Re:Re:Re:HXTT causing index/data corruption?
Kevin Penrose
2017-01-23 08:06:20.0
I actually have a related question: Is data cached in the DBF driver? I have on occasion gotten return values that seem to be out of sync with the data in the tables; all data is still being accessed through a number of FoxPro 9.x applications concurrently with my java apps.
Re:Re:Re:Re:Re:Re:HXTT causing index/data corruption?
HXTT Support
2017-01-23 18:11:46.0
>Is data cached in the DBF driver? I have on occasion gotten return values
> that seem to be out of sync with the data in the tables; all data is still
> being accessed through a number of FoxPro 9.x applications concurrently
> with my java apps.
For lockType=VFP mode, it won't cache data. It's easy to checke whether HXTT DBF can see the modification or lock from your FoxPro 9.x application or other HXTT applications. You can install SQuirrel SQL Client, and start more than one SQuirrel instance. Then you can use HXTT DBF Client or HXTT?DBF Embedded url format to?build connection. With lockType=VFP, they should see each other.
Re:Re:Re:Re:Re:Re:Re:HXTT causing index/data corruption?
Kevin Penrose
2017-01-24 09:04:15.0
What do you mean by "see each other"? I have two squirrel instances running; each connecting to the server with lockType=VFP. Where can I find out if they "see each other"?

Summarizing my configuration: I have the HXTT DBF set up as a windows service, with the url in the urlconfig file including the ?lockType=VFP option. I have a glassfish server, which has a database connection pool which has a the connection url the same as that found in the config file for the windows service, i.e., the ?lockType=VFP is contained in the URL. For this connection pool, I have also set the emptyStringAsNull=false and emptyDecimalAsZero=true properties.
With this configuration, I have occasionally seen stale data, or incorrect data that is only corrected when I restart the windows service. Is there something in the configuration that I am missing?
Re:Re:Re:Re:Re:Re:Re:HXTT causing index/data corruption?
Kevin Penrose
2017-01-24 09:13:42.0
And you asked what my JDBC connection pool is. I'm still not sure I know what you were inquiring about.
Re:Re:Re:Re:Re:Re:Re:Re:HXTT causing index/data corruption?
HXTT Support
2017-01-24 16:24:30.0
> Where can I find out if they "see each other"?
For instance, run an update sql in on SQuirrel or your VFP, then you should see modified result in another Squirrel.
You should see record lock by "update yourTable set _LockFlag_=true where condition" and "select _LockFlag_,reco(),* from yourTable where condition"
Set Record Lock Manually. If you can set _LockFlag_ in on SQuirrel or VFP, and see it in another Squirrel, your lockType connection propery is working.

>what my JDBC connection pool
For instance, org.apache.tomcat.jdbc.pool , com.hxtt.sql.HxttConnectionPoolDataSource , and oracle.jdbc.pool.OracleDataSource .

Search Key   Search by Last 50 Questions




Google
 

Email: webmaster@hxtt.com
Copyright © 1999-2017 Heng Xin Tian Tai Ltd. of Beijing City. | All Rights Reserved. | Privacy | Legal | Sitemap