Main   Products   Offshore Outsourcing   Customers   Partners   ContactUs  
JDBC Databases
  HXTT Access v7.0
  HXTT Cobol v4.0
  HXTT DBF v7.0
  HXTT Excel v6.0
  HXTT Paradox v7.0
 
  Buy Now
  Support
  Download
  Document
  FAQ
  HXTT PDF v1.1
  HXTT Text(CSV) v7.0
  HXTT Word v1.0
  HXTT XML v3.0
Offshore Outsourcing
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 Xing Tian Tai Lab of Xi'an City (abbr, HXTT)

HXTT Paradox
Rows returned not are ok
Diana Pulido
2013-01-14 14:33:13.0
Hi, I got some issues about JDBC Paradox driver who I bought, in first place my application is only to read paradox tables and in any moment the application modify the tables.

Now, sometimes the query return the exact number of rows that what I need, but sometimes the data is not the data what I need, for example the table user.db has three columns id, name, value and the data is:
1, Diana, 8456
2, Peter, 5387
3, John, 5368
when i use the query 'select id,name,value from user the result are:
1, Diana, 8456
2, Peter, 3356
3, John, null
Why the data is not the same data in the table?? when I open the table with excel the data is correct. In the path I see some files .LCK how I resolve this????


Versions
Diana Pulido
2013-01-14 14:35:16.0
Paradox_JDBC40.jar
HXTT_Common_JDBC40.jar

Re:Re:Rows returned not are ok
HXTT Support
2013-01-14 16:42:40.0
Whether there's other application is modificating that table? If you use only HXTT Paradox to do read only access, your Paradox applications can do concurrent modification. Through delayedClose=0 connection property, HXTT Paradox can see those modifications in time.

If you wish to use BDE and HXTT Paradox do concurrent modification at the same time, the file PDOXUSRS.NET is the network file that Paradox uses to keep track of who's in which areas of the database files. A experimental NETDIR connection property can be used to do that in HXTT Paradox, but we haven't done more support for this. It's unstable.
Re:Re:Re:Rows returned not are ok
Diana Pulido
2013-01-15 06:09:18.0
Yes, There is other application to modify the tables with BDE, but with HXTT Paradox is only to read them. When I use delayedClose=0, every change make it by BDE is reflected by any consult with HXTT Paradox????
Re:Re:Re:Re:Rows returned not are ok
HXTT Support
2013-01-15 06:43:53.0
Yeah. Through delayedClose=0 connection property, HXTT Paradox can see those modifications in time.
Re:Re:Re:Re:Re:Rows returned not are ok
Diana Pulido
2013-01-16 07:35:58.0
We still have the problem with records, in the connection we use the parameter delayedClose=0 to try to watch the records but nothing happen. How resolve this problem??? Our architecture is a glass fish server as an application server in solaris 10 with a NFS configuration to a windows server 2003 where the paradox table are. the connection is jdbc:paradox:////app/paradox?delayedClose=0.

Re:Re:Re:Re:Re:Re:Rows returned not are ok
HXTT Support
2013-01-16 17:58:46.0
According to our test case, HXTT Paradox can see the latest modificaiton from other application. Please run the following code to see what will happen:

package test.jdbc.paradox;

import java.util.Properties;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;

public class testSensitiveIssue {

public static void main(String[] args) throws Exception {
testSensitiveIssue test = new testSensitiveIssue();

Connection conn=null;
try {

/* Code omited intentionally */

Properties props = new Properties();

Class.forName("com.hxtt.sql.paradox.ParadoxDriver").newInstance();
conn = DriverManager.getConnection("jdbc:paradox:////test/paradox/?delayedClose=0", props);

Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);

test.test2(conn,stmt);

while(true){
System.out.println("Please input 'c' to continue that program after your other application modify the table");
int c=System.in.read();
if(c=='c' || c=='C'){
break;
}
}

test.test2(conn,stmt);

if(stmt!=null)
stmt.close();
if(conn!=null)
conn.close();

} catch (Exception e) {
System.out.println(e);
}
}

public void test2(Connection conn,Statement stmt) throws Exception {
try {

boolean closeConnectionObjectFlag=false;
boolean closeStatmeObjectFlag=false;

if(conn==null){
conn = DriverManager.getConnection("jdbc:paradox:////test/paradox/?delayedClose=0", null);
closeConnectionObjectFlag=true;
}
if(stmt==null){
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
closeStatmeObjectFlag=true;
}

stmt.setPoolable(true);


String sql = "SELECT * FROM user";
ResultSet rs = stmt.executeQuery(sql);
ResultSetMetaData resultSetMetaData = rs.getMetaData();
int iNumCols = resultSetMetaData.getColumnCount();
for (int j = 1; j <= iNumCols; j++) {
System.out.println(resultSetMetaData.getColumnLabel(j)
+ " " + resultSetMetaData.getColumnTypeName(j));
}
Object colval;
while (rs.next()) {
for (int j = 1; j <= iNumCols; j++) {
colval = rs.getObject(j);
System.out.print(colval + " ");
}
System.out.println();
}
rs.close();

if(closeStatmeObjectFlag){
stmt.close();
}

if(closeConnectionObjectFlag){
conn.close();
}

} catch (Exception e) {
System.out.println(e);
}
}
}





Search Key   Search by Last 50 Questions




Google
 

Email: webmaster@hxtt.com
Copyright © 2003-2019 Heng Xing Tian Tai Lab of Xi'an City. | All Rights Reserved. | Privacy | Legal | Sitemap