Main   Products   Offshore Outsourcing   Customers   Partners   ContactUs  
JDBC Databases
  HXTT Access v5.2
  HXTT Cobol v2.1
  HXTT DBF v5.2
  HXTT Excel v4.2
  HXTT Paradox v5.2
 
  Buy Now
  Support
  Download
  Document
  FAQ
  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
   
   
   
Hongxin Technology & Trade Ltd. of Xiangtan City (abbr, HXTT)

HXTT Paradox
Unable to connect to Paradox when deployed the Application on Unix Box
Jake
2006-12-08 19:14:01.0
Hi,

I deployed my Application on an Oracle App. Server which is on Linux and am trying to connect to Paradox but it keeps giving me the following error:

//testdb/Data doesn't exist! Error Code:188416 SQL State:2E000

Any ideas why am I not able to connect from Unix. Any help is appreciated.

Thanks
Re:Unable to connect to Paradox when deployed the Application on Unix Box
HXTT Support
2006-12-08 20:04:18.0
Try:
jdbc:paradox:////testdb/Data
Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
Mike
2006-12-09 07:10:42.0
I even tried that but still gives the following error i.e.

/testdb/Data doesn't exist! Error Code:188416 SQL State:2E000

Here is the code snippet I am using:

Class.forName("com.hxtt.sql.paradox.ParadoxDriver").newInstance();
String url = "jdbc:Paradox:////testdb/data";
out.println("");
out.println("ParadoxTest");
out.println("");
out.println("

The servlet has received a POST or GET. This is the reply.

");
out.println("

Connection Start

");
//Connection conn = DriverManager.getConnection(url, "testusr", "pwd");
Connection conn = DriverManager.getConnection(url, "Oraapptsd", "Dispatch.1");
//Connection conn = DriverManager.getConnection(url);
out.println("

Success Connection

");

My servlet is deployed on a linus box.

Thanks.
Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
HXTT Support
2006-12-09 07:27:25.0
>/testdb/Data doesn't exist!
Check whether there's a /testdb/Data directory. Because Unix/Linux directory name is case sensitive, maybe you should use /testadb/data? Maybe your directory is /usr/testdb/data ?

It seems that you're using servlet/jsp, and maybe your testdb is at tomcat directory? You can use "jdbc:paradox:///../testdb/Data" or "jdbc:paradox:///"+request.getRealPath("../")+"/testdb/Data".
Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
Mike
2006-12-09 11:40:37.0
The directories does exist. I probably didn't mention before but my servlet is deployed on Linux and I am trying to access Paradox that is installed on a windows system and then shared the folder. I am trying to access that shared folder. Any ideas why I am unable to connect from Linux to Windows.

Thanks
Azeem
Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
HXTT Support
2006-12-09 17:32:53.0
>I am trying to access Paradox that is installed on a windows system and then
> shared the folder.
Then you should share and mount your Windows path through SAMBA. Google, then you will find answer. For instance, http://www.hackorama.com/network/samba.shtml .
Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
Jake
2006-12-29 07:39:37.0
We tried that too but still are not able to connect through Servlet. Can you please let us know if using these drivers how can we connect to Pradox on Windows. Just wanted to see if you have tried that and are able to connect so can provide some steps before we go buying the drivers.

Thanks for the help!
Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
HXTT Support
2006-12-30 01:57:08.0
>how can we connect to Pradox on Windows.
It can connect to Paradox table files on Windows. Please read Remote Access Questions too.

Now let us dig out your issue:
What's the mount full path in Linux for Windows shared directory? Can you list those shared files on Linux command line? What's your jdbc url for servlet?
Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
HXTT Support
2006-12-30 03:07:12.0
>how can we connect to Pradox on Windows.
It can connect to Paradox table files on Windows. Please read Remote Access Questions too.

Now let us dig out your issue:
What's the mount full path in Linux for Windows shared directory? Can you list those shared files on Linux command line? What's your jdbc url for servlet?
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
Mike
2007-01-02 07:00:09.0
Sorry for the confusion I have UNIX not LINUX and there are no mount points. Also for connection URL in a servlet please see the above messages as I tried almost everything. Any feedback is really appreciated as we are in a crunch time and want to resolve this ASAP before we really implement. Thanks for all the help.
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
HXTT Support
2007-01-02 18:30:12.0
>Sorry for the confusion I have UNIX not LINUX and there are no mount points.
Can( or Can't) you list or access your Paradox files from Unix command box? If you can, what's the full path for Windows files? If you can't access those files through SAMBA share, HXTT Paradox can't too since it's use Java file API, but you can still use ParadoxServer to provide Remote Access support.

>Also for connection URL in a servlet please see the above messages as I tried
> almost everything.
Yeah. Because you're using servlet/jsp, you need to use an absolute or relative path to point out where's the database directory for Paradox files.
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
Mike
2007-01-02 21:40:39.0
Yes we can access the files through Unix command box. The full path to the shared files is

///data

By using "/opt/samba/bin/smbclient ///testdb/data --authentication-file=/oracle/auth/someuser" at the commend line we are able to authenticate and connect to the machine and list the files.

Now don't know why can't I connect through the servlet.

Thanks for all the help.

Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
HXTT Support
2007-01-03 01:43:33.0
>The full path to the shared files is ///data
Then you can try:
jdbc:paradox://////data
or
jdbc:paradox://////testdb/data

>Now don't know why can't I connect through the servlet.
At 3. How to set up HXTT Paradox with Coldfusion MX 6.1 Application Server? Note: If you're using a database file through a UNC path or a mapped drive of Windows, there is a Windows Security restriction. If you run ColdFusion as a service on Windows, it operates by default as System, and cannot access directories on a remote system or mapped drive; to resolve this issue, do not run ColdFusion using the local system account.

I guess that maybe your Tomcat met Windows Security restriction.


Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
Mike
2007-01-03 06:31:54.0
Hi,

I did try all the possible combinations with now success. We are using Oracle App. Server 10.1.3

Thanks
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
HXTT Support
2007-01-03 06:53:27.0
At Interoperability Questions
4. HXTT Paradox with alexandria sw and tanuki sw wrapper on Windows 2000 and Windows XP Pro does not work on mapped drives.
8. How to set HXTT Paradox Data Source with Oracle Application Server 10G?
But we haven't made sure whethere there's a sercuirty limitation for Oracle Appl Server to access Windows.

>>//testdb/Data doesn't exist!
>jdbc:paradox://////data
>or
>jdbc:paradox://////testdb/data
There's six '/'. Whether have you gotten an error message say "///testdb/Data doesn't exist!"?




Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
Mike
2007-01-08 23:04:42.0
So is there a solution for that as it looks like samba is not working it works if we log-in through command line from UNIX and can see and list the shared folders on windows. But when trying to connect it through servlet it's not working. If you can provide us a feedback will really help as we are stuck right now.

The other thing we wanted to try is to install the Oracle Application server on Windows Box and then through servlet access the shared folder. The shared folders are on different machines than the machine where servlet is running. Is this going to work. Basically Servlet deployed on one machine trying to access shared folders on different machines.

Please advise for both cases as we like to see it working before we start the actuall implementation.

Thanks
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
Mike
2007-01-08 23:23:38.0
ok I did a simple test. I ran a small java program from a desktop on my machine tring to access a shared folder but it failed sample error as above. I opened a browser and logged in to that shared folder i.e.

//testdb then it asked for a username and password and I was able to see the shared folder. I closed the browser and ran the same program again and it worked. It keeps working as long as I don't restart my system. So looks like I have to manually log-into that shared folder through browser and then the program works. But how can we make it dynamic so we don;t have to manually log in. Specially when I deploy this as a servlet. The drivers will connect fine as long as everything is on the same machine but does not work if have to access across anything across different machines through servlet.

Any ideas?
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
HXTT Support
2007-01-09 01:14:24.0
>But how can we make it dynamic so we don;t have to manually log in.
You can use Java CIFS Client Library.
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
Mike
2007-01-09 10:38:14.0
So means it does not work if need to connect it from UNIX to Windows even though SAMBA is configured but the servlet is never able to access the shared folder. As it's a web app we have to connect it through the servlet and that's what doesn't work.

I'll try the CIFS Client Library but using this is going to work when we deploy the servlet on windows box.

Thanks
Azeem
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
HXTT Support
2007-01-09 18:08:03.0
>So means it does not work if need to connect it from UNIX to Windows even
> though SAMBA
You need to pass Windows security verification first. CIFS can help you to do that thing.
Another solution is using ParadoxServer and remote access mode which needn't SAMBA, but need to run a ParadoxServer on your Windows. You can know more from DBAdmin, Remote Access Questions, and Run HXTT ParadoxServer as Windows Service or Linux(Solaris) Daemon.
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
Mike
2007-01-09 19:40:49.0
ParadoxServer to run on Windows but what if I have over 300 hundred shared folders that all are on different boxes i.e. 300+ windows boxes, then I need to have Paradox Server running on all the boxes that will be hard from maintainability wise as my code is deployed on a Unix box there a multiple servlets and web services that are trying to access those boxes. Isn't there some soultion that I may use along with the drivers from inside the servlet and connect to the specific box. I did tried using CIFS but am lost on what exactly to do. I tried the following but still am not able to do database operations, I don't know what am I doing wrong. Using the following I am able to connect
SmbFile root = new SmbFile( "smb://testdb/Data/", new NtlmPasswordAuthentication( "NA", "user", "pwassword" ));


but next when I do the following gives error even though using the above I am logged-in but somehow the following still gives error:

Class.forName("com.hxtt.sql.paradox.ParadoxDriver").newInstance();
String url = "jdbc:Paradox:///////testdb//Data";
String sql = "select * from comptb";
Connection con = DriverManager.getConnection(url, "user", "password");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(sql);


Here is the complete test code.

import java.net.UnknownHostException;
import java.sql.*;
import java.util.Properties;
import jcifs.*;
import jcifs.smb.NtlmPasswordAuthentication;
import jcifs.smb.SmbFile;
import jcifs.smb.SmbSession;
import jcifs.netbios.NbtAddress;
import jcifs.smb.*;
import java.util.Date;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;

public class Servlet1 extends HttpServlet
{
private static final String CONTENT_TYPE = "text/html; charset=windows-1252";

public void init(ServletConfig config) throws ServletException
{
super.init(config);
}

public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
try
{

SmbFile root = new SmbFile( "smb://testdb/Data/", new NtlmPasswordAuthentication( "NA", "user", "pwassword" ));
Class.forName("com.hxtt.sql.paradox.ParadoxDriver").newInstance();
String url = "jdbc:Paradox:///////testdb//Data";
String sql = "select * from comptb";
Connection con = DriverManager.getConnection(url, "user", "password");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(sql);

ResultSetMetaData resultSetMetaData = rs.getMetaData();
int iNumCols = resultSetMetaData.getColumnCount();
for (int i = 1; i <= iNumCols; i++)
{
System.out.println(resultSetMetaData.getColumnLabel(i)
+ " " +
resultSetMetaData.getColumnTypeName(i));
}

rs.close();
stmt.close();
con.close();
}
catch( SQLException sqle )
{
do
{
System.out.println(sqle.getMessage());
System.out.println("Error Code:"+sqle.getErrorCode());
System.out.println("SQL State:"+sqle.getSQLState());
sqle.printStackTrace();
}while((sqle=sqle.getNextException())!=null);
}
catch (Exception e)
{
System.out.println(e.getMessage());
e.printStackTrace();
}
}
}


Any help is really appreciated as I am now kind of stuck. We tried Samba it didn't work either.

Thanks
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
HXTT Support
2007-01-10 03:31:39.0
>So looks like I have to manually log-into that shared folder through browser
>and then the program works.
>ParadoxServer to run on Windows but what if I have over 300 hundred shared
> folders that all are on different boxes i.e. 300+ windows boxes
>But how can we make it dynamic so we don't have to manually log in.
Checked. It seems that NtlmPasswordAuthentication doesn't do NTLM authentication like manual operation.

>By using "/opt/samba/bin/smbclient ///testdb/data --authentication-file=/oracle/auth/someuser" at the commend line we are able to authenticate and connect to the machine and list the files.
1st solution: Use java.lang.Runtime.exec(String command) to that manual operation.

2nd solution(preferable): Wait about 24 hours, then HXTT should be able to provide a seamless SAMBA solution.

Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
Mike
2007-01-10 06:19:10.0
Thanks, looking forward to hear back.

Thanks
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
HXTT Support
2007-01-10 22:27:04.0
v3.1.001 supports SAMBA table, which needn't to map or mount driver.

For instance,
jdbc url: jdbc:paradox:smb://test1:123@100.100.13.94/paradoxfiles
then you can use select * from zone;

You can use also in embedded jdbc url:
select * from "smb://test1:123@100.100.13.94/paradoxfiles/zone.db";
select * from "smb://test1:123@100.100.13.94/paradoxfiles/zone";
select * from "smb://test1:123@100.100.13.94/paradoxfiles".zone;

You can do join query for tables from different hosts.

Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
Mike
2007-01-11 12:28:46.0
Hi I tried your suggestions but still I am not able to connect.
Here is the simple test I am trying to run but it's not working, I don't know what I am doing wrong:

START CODE *******************************************************
package com.test.unix.windows.paradx;

import java.net.UnknownHostException;
import java.sql.*;
import java.util.Properties;
import jcifs.*;
import jcifs.smb.NtlmPasswordAuthentication;
import jcifs.smb.SmbFile;
import jcifs.smb.SmbSession;
import jcifs.netbios.NbtAddress;
import jcifs.smb.*;
import java.util.Date;

public class SambaConnectCIFS
{
public SambaConnectCIFS()
{
}

/**
*
* @param args
*/
public static void main(String[] args)
{
SambaConnectCIFS sambaConnectCIFS = new SambaConnectCIFS();
try
{

//Domain = NA
//uid = userid
//pwd = password
//machine name on windows = pdxbox1

/*
SmbFile root = new SmbFile("smb://pdxbox1;NA\\userid:password@pdxbox1");
*/

/*
UniAddress mydomaincontroller = UniAddress.getByName( "pdxbox1" );
NtlmPasswordAuthentication mycreds = new NtlmPasswordAuthentication( "NA", "userid", "password" );
SmbSession.logon( mydomaincontroller, mycreds );
*/
Class.forName("com.hxtt.sql.paradox.ParadoxDriver").newInstance();
//String url = "jdbc:Paradox:smb://userid:password@pdxbox1/Data";
String url = "jdbc:Paradox:smb://pdxbox1;NA\\userid:password@pdxbox1/Data";
String sql = "select * from Zone";
Connection con = DriverManager.getConnection(url, "userid", "password");

Statement stmt = con.createStatement();

ResultSet rs = stmt.executeQuery(sql);

ResultSetMetaData resultSetMetaData = rs.getMetaData();
int iNumCols = resultSetMetaData.getColumnCount();
for (int i = 1; i <= iNumCols; i++) {
System.out.println(resultSetMetaData.getColumnLabel(i)
+ " " +
resultSetMetaData.getColumnTypeName(i));
}
rs.close();
stmt.close();
con.close();
}
catch( SQLException sqle )
{
do
{
System.out.println(sqle.getMessage());
System.out.println("Error Code:"+sqle.getErrorCode());
System.out.println("SQL State:"+sqle.getSQLState());
sqle.printStackTrace();
}while((sqle=sqle.getNextException())!=null);
}
catch (Exception e) {
System.out.println(e.getMessage());
e.printStackTrace();
}
}
}
END CODE *****************************************************



And here is the error I am getting back:

START ERROR *****************************************************

Invalid Database URL: jdbc:Paradox:smb://pdxbox1;NA\\userid:password@pdxbox1/Data
Error Code:32768
SQL State:08000
java.sql.SQLException: Invalid Database URL: jdbc:Paradox:smb://pdxbox1;NA\\userid:password@pdxbox1/Data
at com.hxtt.global.SQLState.SQLException(Unknown Source)
at com.hxtt.sql.HxttDriver.a(Unknown Source)
at com.hxtt.sql.HxttDriver.a(Unknown Source)
at com.hxtt.sql.HxttDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(DriverManager.java:512)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
at com.vulcan.jdbc.SambaConnectCIFS.main(SambaConnectCIFS.java:44)

END ERROR *****************************************************

I tried both of the following but gets the same error
String url = "jdbc:Paradox:smb://userid:password@pdxbox1/Data";
String url = "jdbc:Paradox:smb://pdxbox1;NA\\userid:password@pdxbox1/Data";


The following works fine so I know the database url is correct

SmbFile root = new SmbFile("jdbc:Paradox:smb://userid:password@pdxbox1/Data");
SmbFile[] kids = root.listFiles();


It's only when I try the path you described I am still not able to connect.
Can you please let me know what is that I am doing wrong eventhough I am following whatever you described in the document at http://www.hxtt.com/paradox/advanced.html#mining

4. SAMBA Database:(smb protocol)


Thanks
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
Mike
2007-01-11 13:01:55.0
Hi,

I believe you mentioned v3.1.001 supports this but I don't see this version on your site all I see is v3.0 I just downloaded the version again but still getting the above errors. Any help is appreciated.

Thanks
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
HXTT Support
2007-01-11 17:20:23.0
>import jcifs.*;
You needn't to use any jcifs call code now.

>Invalid Database URL: jdbc:Paradox:smb://pdxbox1;NA\\userid:password@pdxbox1/Data
jdbc:paradox:smb://[[[domain;]username[:password]@]server[:port]/[[share/[dir/]file]]][?[param=value]]
You should use jdbc:Paradox:smb://userid:password@pdxbox1/Data
You're using an old v3.0 package. Please download v3.1:)
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
HXTT Support
2007-01-11 17:31:18.0
It seems that NA is your domain, then you should use jdbc:Paradox:smb://NA;userid:password@pdxbox1/Data

With v3.1, you can use a free JDBC url like jdbc:/paradox:/
Then you can use select * from "smb://userid:password@pdxbox1/Data/zone" to access your zone table. More about SAMBA table is at here.
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
Mike
2007-01-11 23:52:40.0
I am confused and lost and tried almost everything but still am getting the same error i.e. Invalid Database URL. I tried your suggestions but no luck i.e.

jdbc:Paradox:smb://NA;userid:password@pdxbox1/Data

It keeps giving me the error at:

Connection con = DriverManager.getConnection(url, "userid", "password");

Here is what I have now in the code

Class.forName("com.hxtt.sql.paradox.ParadoxDriver").newInstance();
String url = "jdbc:Paradox:smb://NA;userid:password@pdxbox1/Data";
String sql = "select * from Zone";
Connection con = DriverManager.getConnection(url, "userid", "password");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(sql);

I even downloaded Paradox_JDBC30.jar from the site as the modification date showed yesterdays so believe it's the latest jar as I don't see any link showing v3.1.001 also I am using the following jcifs-1.2.13b3.jar that I downloaded from jCIFS site.

Can you please tell me what is now wrong as I almost tried everything and still no luck. Wondering if you have tried it if so can you post a sample code of your's as mine is not working I tried all your suggestions and even read the SAMBA table documentation.

You mentioned:

1. With v3.1, (What is the link as I almost downloaded everything and tried but no luck)

2. you can use a free JDBC url like jdbc:/paradox:/ (Any example for this on how)

3. Then you can use select * from "smb://userid:password@pdxbox1/Data/zone" to access your zone table. (so what am I doing wrong in my code please comment).

As so far I am not able to connect. Can you try my code and see if it works in your environment as everytime you specify do this and then write a select but it's not working. Any feedbacks are appreciated.

>>import jcifs.*;
>>You needn't to use any jcifs call code now.
It's only there to show that using these calls I can connect, but using the suggestions you mentioned I am still not able to connect.

Thanks

Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
HXTT Support
2007-01-12 05:52:50.0
>I even downloaded Paradox_JDBC30.jar from the site as the modification date
> showed yesterdays so believe it's the latest jar as I don't see any link
> showing v3.1.001
java -cp Paradox_JDBC30.jar com.hxtt.sql.paradox.ParadoxDriver will show that information.
In manifest.mf file of Paradox_JDBC30.jar, it shows "Specification-Version: 3.1.002 on January 11, 2007" too.

>I am using the following jcifs-1.2.13b3.jar that I downloaded from jCIFS site.
Masked jcifs*.jar in your classpath, and use an embedded url, for instance, jdbc:paradox:///user, then run
select * from "smb://userid:password@pdxbox1/Data/zone"
sql, then you will get a prompt say" java.sql.SQLException: For SAMBA support, you should download http://www.hxtt.com/test/jcifs.jar package.
If you haven't gotten it, you're using an older package in your classpath.

>Can you please tell me what is now wrong as I almost tried everything and
> still no luck.
I guess that you should be using an older package in your classpath? Remove all older packages files.

I tried your jdbc url, and it said:
java.sql.SQLException: jcifs.smb.SmbException: Failed to connect to server
java.net.UnknownHostException: pdxbox1

:)

Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
Mike
2007-01-12 12:02:15.0
Ok it's not working and am about to give-up I don't how you guys are trying but looking at my code I don't know what's wrong and there is no input regarding this

Here are the driver details:
HXTT Paradox JDBC3.0 Driver (Version 3.1.002) For Evaluation Purpose. Compiled:
January 11, 2007

I also downloaded jcifs from the link you provided and it's a zip file changed to jar and included this in the path.

>>Masked jcifs*.jar in your classpath, and use an embedded url, for instance,
What does Masked jcifs*.jar means as currently I got rid of from my path and am using the one you have on the site.

>>jdbc:paradox:///user, then run
>>select * from "smb://userid:password@pdxbox1/Data/zone"

I really don't get what you meant here the select statement you have and then smb part in quotes how do I use it in my code.

The problem is for me it always comes back and say invalid datbase url as the url I have is exactly what you guys suggested.

As now I almost tried all your suggestions. I don't know what is your environment that you are testing. Currently I tested this as a servlet deployed on a UNIX Box and tring connecting to the paradox box but same error. I also tried this sample running it on my local windows box and trying to connect to paradox box but no luck.

I don't understand why the following works and your suggestions are not:

SmbFile root = new SmbFile("smb://NA;userid:password@pdxbox1/Data");

Here is the servlet code I am trying now. I have the latest Paradox Jar file and JCIFS from the link you provided but still no luck.


import javax.servlet.*;
import javax.servlet.http.*;
import java.io.PrintWriter;
import java.io.IOException;
import java.net.UnknownHostException;
import java.sql.*;
import java.util.Properties;
import jcifs.*;
import jcifs.smb.NtlmPasswordAuthentication;
import jcifs.smb.SmbFile;
import jcifs.smb.SmbSession;
import jcifs.netbios.NbtAddress;
import jcifs.smb.*;
import java.util.Date;

public class Servlet2 extends HttpServlet
{
private static final String CONTENT_TYPE = "text/html; charset=windows-1252";

public void init(ServletConfig config) throws ServletException
{
super.init(config);
}

public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
response.setContentType(CONTENT_TYPE);
PrintWriter out = response.getWriter();
try
{
Class.forName("com.hxtt.sql.paradox.ParadoxDriver").newInstance();
String url = "jdbc:Paradox:smb://NA;userid:password@pdxbox1/Data";
String sql = "select * from PlnZone";
Connection con = DriverManager.getConnection(url);
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(sql);
ResultSetMetaData resultSetMetaData = rs.getMetaData();
int iNumCols = resultSetMetaData.getColumnCount();
for (int i = 1; i <= iNumCols; i++) {
out.println(resultSetMetaData.getColumnLabel(i)
+ " " +
resultSetMetaData.getColumnTypeName(i));
}
rs.close();
stmt.close();
con.close();
}
catch( SQLException sqle )
{
do
{
out.println(sqle.getMessage());
out.println("Error Code:"+sqle.getErrorCode());
out.println("SQL State:"+sqle.getSQLState());
sqle.printStackTrace();
}while((sqle=sqle.getNextException())!=null);
}
catch (Exception e) {
out.println(e.getMessage());
e.printStackTrace();
}
out.close();
}
}

Can you please post one of your samples and the steps you did from configuration point of view. I really need to see if it works before implementation or look for some other approaches. Thanks
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
HXTT Support
2007-01-12 17:20:57.0
Let us step by step:
First, you should run the testSmb2.java sample,

import java.sql.*;
import java.util.Properties;
import java.util.Date;

public class testSmb2 {

public static void main(String argv[]){
try {
Class.forName("com.hxtt.sql.paradox.ParadoxDriver").newInstance();
String url = "jdbc:Paradox:smb://NA;userid:password@pdxbox1/Data";
String sql = "select * from PlnZone";
Connection con = DriverManager.getConnection(url);
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(sql);
ResultSetMetaData resultSetMetaData = rs.getMetaData();
int iNumCols = resultSetMetaData.getColumnCount();
for (int i = 1; i <= iNumCols; i++) {
System.out.println(resultSetMetaData.getColumnLabel(i)
+ " " +
resultSetMetaData.getColumnTypeName(i));
}
rs.close();
stmt.close();
con.close();
}
catch (SQLException sqle) {
do {
System.out.println(sqle.getMessage());
System.out.println("Error Code:" + sqle.getErrorCode());
System.out.println("SQL State:" + sqle.getSQLState());
sqle.printStackTrace();
}
while ( (sqle = sqle.getNextException()) != null);
}
catch (Exception e) {
System.out.println(e.getMessage());
e.printStackTrace();
}
}
}


I gotten an error message:
Failed to load table PlnZone! For more information, please use SQLException.getNextException().
java.sql.SQLException: jcifs.smb.SmbException: Failed to connect to server
java.net.UnknownHostException: pdxbox1

You should pass or get an error message, but you SHOULDN't get "Invalid Database URL: jdbc:Paradox:smb://pdxbox1;NA\\userid:password@pdxbox1/Data ". If you gotten, check whether you have any older HXTT package, for instance, DBF_JDBC30.jar, HXTT_Common_JDBC30.jar, ...


Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
HXTT Support
2007-01-12 17:26:49.0
After you can pass the testSmb2.java, you can run the following Servlet2.java sample:

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.PrintWriter;
import java.io.IOException;
import java.sql.*;

public class Servlet2 extends HttpServlet {
private static final String CONTENT_TYPE =
"text/html; charset=windows-1252";

public void init(ServletConfig config) throws ServletException {
super.init(config);
}

public void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
response.setContentType(CONTENT_TYPE);
PrintWriter out = response.getWriter();
try {
Class.forName("com.hxtt.sql.paradox.ParadoxDriver").newInstance();
String url = "jdbc:Paradox:smb://NA;userid:password@pdxbox1/Data";
String sql = "select * from PlnZone";
Connection con = DriverManager.getConnection(url);
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(sql);
ResultSetMetaData resultSetMetaData = rs.getMetaData();
int iNumCols = resultSetMetaData.getColumnCount();
for (int i = 1; i <= iNumCols; i++) {
out.println(resultSetMetaData.getColumnLabel(i)
+ " " +
resultSetMetaData.getColumnTypeName(i));
}
rs.close();
stmt.close();
con.close();
}
catch (SQLException sqle) {
do {
out.println(sqle.getMessage());
out.println("Error Code:" + sqle.getErrorCode());
out.println("SQL State:" + sqle.getSQLState());
sqle.printStackTrace();
}
while ( (sqle = sqle.getNextException()) != null);
}
catch (Exception e) {
out.println(e.getMessage());
e.printStackTrace();
}
out.close();
}
}


You should pass or get the same error message like testSmb2.java . If not, please let us know your error message. Anytime, "Invalid Database URL:..." means that your package doesn't support smb protocol, but v3.1 have supported it so that you're using an older package...



Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
HXTT Support
2007-01-12 17:32:12.0
Found issue. Please download the latest package after 3 hours, and you're using an old package on hxtt host. Sorry.
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
Mike
2007-01-12 18:36:11.0
Thanks for a quick response, I'll try to download again both the package and JDBC Drivers and try it and will let you know, if still have some issues I would like to know if I can upload and the location to upload the code with drivers and package so you can run it in your environment.

Thanks

Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
Mike
2007-01-13 09:24:56.0
Hi,

I downloaded the new Jar and Package. When I run the testSmb2.java sample as a standlone program it works i.e. select/update/insert etc., but when I run the same code as a servlet i.e. Servlet2.java above I am only able to connect but select, update, delete doesn't work. For example the following works and shows all the column names


Class.forName("com.hxtt.sql.paradox.ParadoxDriver").newInstance();
String url = "jdbc:Paradox:smb://NA;userid:password@pdxbox1/Data";
String sql = "select * from PlnZone";
Connection con = DriverManager.getConnection(url);
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(sql);
ResultSetMetaData resultSetMetaData = rs.getMetaData();
int iNumCols = resultSetMetaData.getColumnCount();
for (int i = 1; i <= iNumCols; i++) {
System.out.println(resultSetMetaData.getColumnLabel(i)
+ " " +
resultSetMetaData.getColumnTypeName(i));
}


but the following never gets executed means it never shows me the data:

Object colval;
while (rs.next())
{
for (int i = 1; i <= iNumCols; i++)
{
colval = rs.getObject(i);
System.out.print(colval + " ");
}
System.out.println();
}

It works fine in a standalone and does show me all the data too but when I run it as a servlet it never shows me the data.

Can you please let me know what is wong.

Thanks
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
HXTT Support
2007-01-13 16:46:40.0
>System.out.print(colval + " ");
>System.out.println();
Try to change System.out to out :)
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
Mike
2007-01-13 19:32:11.0
Thanks,

Actually it's working fine and do see everything in the logs. I still have to test some more and will get back ASAP.

Thanks again
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
Mike
2007-01-23 19:57:06.0
Hi,

Sorry I have been testing it with different scenarios but ran into the following issue don't know if it's something with the drivers. Here is the insert query I am trying to execute but am getting the error can't figure this out:

======Query==Starts=============

INSERT INTO SLS (SLoadID, HTID, INTRACO, DELIVERED, ZONEID, CUSTID, JOBID, JOBNAME, ASID, TAXID , CUSTPO, PLANTID, PRODID, PRODPRICE, NETWT, PRICEONTKT, DeliveryAddress1, DeliveryAddress2, PRINTBATCHWTS, MixID, Metric, DestinationID, TransportationMode, Comment, CreatedUser, ModifiedUser, ModifiedDate, ModifiedTime, ProductTax, StateJob, MinorMarketID, ListPriceJob, ListPriceHaul, ProdDesc, UnitID, DisableMinimum, NotifyLoader,
HtkHaulUOM, JobHaulUOM, HtkHaulQty, ScheduleDate, StartTime, Interval, EndTime, NumberOfLoads, LoadSize, TotalQuantity, VCID, TruckGroupID, EstTravelTime, ScheduledLoadCounter, QtyPerHour, SOURCEID, CommitStatus, Complete, CompleteBy, ForceComplete, ExportSetID)
VALUES ('1111', 'C1111', 'N', 'N', '1', 'CUST11', 'MASTORD11', 'Description1', '', 'TaxCD11', 'PO11', '11', 'PRD11', 1100.0, 0.0, '', 'DESCRIPTION2', 'DESCRIPTION3', 'Y', 'PRD11', 'N', '.ORD11', 'T', 'test@test.com', 'Vulcan', 'Vulcan', CAST('2007-01-17 14:01:58.043' AS DATE), CAST(CAST('2007-01-17 14:01:58.043' AS TIME) AS VARCHAR(10)), '', 'N', 'N', 'N', 'N', '', '', '', '', '', '', 0.0, CAST('2007-01-17 14:01:58.043' AS DATE), CAST(CAST('2007-01-17 14:01:58.043' AS TIME) AS VARCHAR(10)), 0.0, CAST(CAST('2007-01-17 14:01:58.043' AS TIME) AS VARCHAR(10)), 8888.0, 0.0, 0.0, 'A', '1111.2007-01-17 14:01:58.043', 8, 8888.0, 0.0, 'TSD', 'C', 'N', 'L', 'N', 8888)

======Query==Ends==============

And here is the error I am getting:
Syntax error: Stopped parse at ,
Error Code:172032
SQL State:2A000
java.sql.SQLException: Syntax error: Stopped parse at ,
at com.hxtt.global.SQLState.SQLException(Unknown Source)
at com.hxtt.a.b.a(Unknown Source)
at com.hxtt.a.b.a(Unknown Source)
at com.hxtt.a.b.g(Unknown Source)
at com.hxtt.sql.bm.m(Unknown Source)
at com.hxtt.sql.ag.if(Unknown Source)
at com.hxtt.sql.ag.a(Unknown Source)
at com.hxtt.sql.ag.executeQuery(Unknown Source)

Although the above query runs just fine in the query editor, it throws the below exception in java code. Is there a query length limit to the paradox driver that we are using?

Thanks and looking for an answer.

Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
Mike
2007-01-24 11:12:05.0
Any updates?

Thanks
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
HXTT Support
2007-01-24 16:17:15.0
>,Interval,
It's a sql reserved word in SQL 99 and SQL 92. You can use ... StartTime, "Interval", EndTime, ...

>CAST(CAST('2007-01-17 14:01:58.043' AS TIME) AS VARCHAR(10))
It should be CAST(CAST('2007-01-17 14:01:58.043' AS TIME) AS VARCHAR). You can use CAST('2007-01-17 14:01:58.043' AS TIME) too since HXTT Paradox will do automatically type convert. Please change all varchar(10) into varchar.
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
Mike
2007-01-24 17:38:54.0
Thanks it worked. I have some more complex queries that I want to test and if all goes fine will move further.

Thanks again for all the help.
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
Mike
2007-02-12 15:05:38.0
Hi,

Sorry been busy but am back on this project again. I just retested again and sometimes I get the following error:

Error Message Timeout Interrupted Exception: beyond 1000 msecs to initialize a table of trk

Is there a way to set a timeout limit as I may have a big table that rturns many rows and may take time. So wondering if there's a way to increase the time.

Thanks
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
HXTT Support
2007-02-12 16:44:22.0
Try lockTimeout connection property.
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
Mike
2007-02-15 13:13:25.0
What does lockTimeout do and are there any parameters I have to set for this. Also any idea what this error means as it was working fine but now am getting the following error. Is it something wrong with the table as we haven't changed anything on the Paradox Tables:

java.sql.SQLException: Failed to upgrade the
access mode of DES table from "r" to "rw"}
java.sql.BatchUpdateException: java.sql.SQLException: Failed to upgrade the acce
ss mode of DES table from "r" to "rw"


Thanks
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
HXTT Support
2007-02-15 16:01:05.0
>>Timeout Interrupted Exception: beyond 1000 msecs to initialize a table of trk
>What does lockTimeout do and are there any parameters I have to set for this.
One instance of HXTT Paradox is opening that table, then other instances will wait lockTimeout msecs to wait that instance to init it so that they can share those information.

>java.sql.BatchUpdateException: java.sql.SQLException: Failed to upgrade the access mode of DES table from "r" to "rw"
Are you having other applications visiting those tables?
try
catch( SQLException sqle )
{
do
{
System.out.println(sqle.getMessage());
System.out.println("Error Code:"+sqle.getErrorCode());
System.out.println("SQL State:"+sqle.getSQLState());
sqle.printStackTrace();
}while((sqle=sqle.getNextException())!=null);
}
to see the detail information.

If you're using SAMBA or net share, maybe sometimes network is slow so that it need more time to load information. If it failed to change access mode to "rw", maybe you have only read right on some files.

Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
Mike
2007-02-18 22:07:27.0
I faced another issue i.e. I have desktop application that is built on these Paradox Database I am inserting records through servlet. Now if the Application is up and running and is being used and if I insert any records to one of the tables through a servlet I don't see them reflected inside the Application even refreshing the application does not show the data. In order to see the records I have to close the Application and re-open it then the records are shown only. Now if the Application is up and running I inserted new records through servlet and then do a select it does shows me new records added but they don't somehow show up while in the Application itself, even though I do see the timestamp on some files changed to when ever new records are added. Is there any chance that any records inserted through servlet and using JDBC Paradox Drivers and jcifs library it does not commit them or any chance there's something wrong with the drivers. As the records are inserted but why the Application is not able to read off those new records even refreshing it the only way to see the records is closing the Application and then restarting back on.

Thanks
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
HXTT Support
2007-02-19 00:23:29.0
First, HXTT Paradox and Corel Paradox can't see each other, and they're only compatible on database format.
Secondly, if your desktop application is also inserting new rows at the same time, it's risky, and HXTT can't support it now.
Thirdly, if your desktop application is only wishing to detect the new inserting rows by HXTT Paradox, HXTT can try to support it.
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
Mike
2007-02-19 06:32:46.0
Hi,


>>>>>Secondly, if your desktop application is also inserting new rows at the same time, it's risky, and HXTT can't support it now.

But The whole purpose is to insert/update new rows through servlet using Paradox Drivers and same time also insert/update records through the Desktop Application. And if any records/updated by any means should be able to see them Paradox. When you say it's risky? What exactly risky means here.

>>>>>Thirdly, if your desktop application is only wishing to detect the new inserting rows by HXTT Paradox, HXTT can try to support it.

Is there a special way Paradox inserts/updates records that our Desktop Application is not able to see, as it's critical in our scenario i.e. a user maybe working with the Application and Paradox may insert/update some Records so user should be able to detect them right away rather than exiting the application as to a user he don't know when the new records are inserted/updated.

Will appreciate your response. Thanks
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
HXTT Support
2007-02-19 07:18:00.0
>When you say it's risky? What exactly risky means here.
Because HXTT Paradox isn't using Corel Paradox's lock mechanism, they can't work together to do insert/update at the same time.

>Is there a special way Paradox inserts/updates
No special way for db format, but Corel Paradox is using lock file to check db modification.
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
Mike
2007-02-19 09:24:02.0
Hi,

>>>>>>>Thirdly, if your desktop application is only wishing to detect the new inserting rows by HXTT Paradox, HXTT can try to support it.

So how can we handle this scenario that my application is able to see the newly inserted/updated records also and at the same time if the Application does any insert/updates we on the other end java side where Paradox Drivers are used should be able to see the data. As it is critical in this whole implemntation.


>>>>>>>Because HXTT Paradox isn't using Corel Paradox's lock mechanism, they can't work together to do insert/update at the same time.

So how will this solve the issue as then we end up with the data inserted/updated through servlet using Paradox Drivers that never gets committed in case if the application is up and running.

As right now I basically hit a wall and need to resolve this else can't continue with the implementation because these are the critical pieces of this Application.

Your response is really appreciated.

Thanks
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
Mike
2007-02-19 15:26:36.0
Any updates. Thanks
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
HXTT Support
2007-02-19 15:41:44.0
You can try odbc jdbc bridge and RmiJdbc at http://rmijdbc.objectweb.org/ .
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
Mike
2007-02-19 20:07:41.0
Hi,

I did looked at rmijdbc but do I still be needing Hxtt Paradox JDBC Drivers and JCIFS Samaba libraries as my application is deployed on the Unix box and the Paradox is on Windows box. So I am using Paradox along with JCIFS to connect to the Praradox tables from Unix box and my java application is deployed on Oracle Application Server. Now what kind of configuration am I alooking at as currently all works except the Application on Windows is not able to see the newly inserted/updated records.

So really don't know if trying odbc jdbc bridge and RmiJdbc does take care of this issue as we are trying to connect from Unix to Windows. And how exactly that does works with Paradox Drivers. Will appreciate if you can please provide some more information, what kind of setup ot configuration is required, or is there anything from Paradox Drivers that can be handled.

Your response is really appreciated.

Thanks
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
HXTT Support
2007-02-19 20:54:57.0
If you have many Windows hosts which need to be visited, you have to setup many dsn on those Windows hosts, and run many RmiJdbc servers on those hosts, then your RmiJDBC client on Linux can access those hosts.
Another way is run one RmiJDBC server on one Windows host, and let that host as file server to access all other Windows host, then your RmiJDBC client on Linux can access that RmiJDBC server.
Third way is to find and get Corel's Paradox JDBC Driver at http://dn.codegear.com/article/21642 . We don't know and never gotten such a jdbc driver for research purpose. You can try pdxJDBC, which should require Paradox Runtime or BDE on every Windows host.
BTW, I don't also know whether Corel Paradox's engine hasn't any issue on SAMBA or network share. Anyway, your discrete architecture seems very complicated to requre data synchronization and concurrent update on many hosts through different applcations and SAMBA( or map driver).
I haven't tried RmiJDBC too, but it's based RMI call so that it can be absolutely employed on Linux/Unix. The key is only how to and whether the RmiJDBC server can work like your expectation on Windows hosts.
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
Mike
2007-02-19 21:18:45.0
Hi,

Looks like then I will endup changing my whole design. And in this case where does the Hxtt Paradox Drivers fit. As in my case I dynamically connecting to different boxes from my servlet deployed on a Unix Box. So was hoping if you guys have a fix for this as you mentioned earlier that you guys can try to support it. I was hoping to get the Enterprise License as so far I tested everything and it worked accordingly but then ran into this issue which is very critical in this whole implementation. So hoping if there's a fix you guys can provide atleast I don't end up doing a fresh restart and searching for any other Drivers as I already did before and that's when I found Hxtt Paradox Drivers. I do see different ways of connecting but they are not promising and don't know if they will work. Will appreciate if guys can support this as part of Hxtt Paradox Drivers.

Thanks
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
HXTT Support
2007-02-19 21:41:27.0
We can't support concurrent update from HXTT Paradox and your application.
1. HXTT Paradox update, and your Corel Paradox application read.(We can try)
2. HXTT Paradox read, and your Corel Paradox application update.(We can try)
3. HXTT Paradox update/read, and your Corel Paradox application update/read at the same time.(risky)
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
Mike
2007-02-20 04:57:54.0
Hi,

>>>>>We can't support concurrent update from HXTT Paradox and your application.

Is there any in JDBC Drivers that let's us see if the record is locked or not.

>>>>> 1. HXTT Paradox update, and your Corel Paradox application read.(We can try)
>>>>> 2. HXTT Paradox read, and your Corel Paradox application update.(We can try)

Any idea when can I test this functionality as right now it's very urgent on our end.

>>>>>3. HXTT Paradox update/read, and your Corel Paradox application update/read at the same time.(risky)

So is there any way I check record locking through the JDBC drivers.

I really appreciate your responses and any idea on when I can expect something from you to check this functionality.

Thanks.
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
HXTT Support
2007-02-20 05:29:07.0
>Is there any in JDBC Drivers that let's us see if the record is locked or not.
The only wish is pdxJDBC at http://dn.codegear.com/article/21642, which should call directly dll files of Corel Paradox runtime.

>So is there any way I check record locking through the JDBC drivers.
No way. Anyway, Corel Paradox is a dying database, and few users is using it now. Since 2004, you're the fist user which wish to let Java and Corel Paradox do concurrent update, and that requirement need to complement the full compatible strange lck/net file lock mechanism.

>>>>> 1. HXTT Paradox update, and your Corel Paradox application read.(We can try)
>>>>> 2. HXTT Paradox read, and your Corel Paradox application update.(We can try)
>Any idea when can I test this functionality as right now it's very urgent
> on our end.
If now HXTT begin to crack, write, then test, you should see those limited feature on Feb. 26th, 2007.
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
Mike
2007-02-20 08:25:18.0
Hi,

Currently I can wait for an update from you guys as taking any other route requires a big change and in the end we really don't know if it will work. So I would appreciate for your updates and fix and can try that once you have it ready on Feb. 26th, 2007.

Thanks.


Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
HXTT Support
2007-02-20 20:37:04.0
You can download the latest package, and try lockTimeout=-1 connection property. Good luck.

>>>>>3. HXTT Paradox update/read, and your Corel Paradox application update/read at the same time.(risky)
Data lose possibility changed from high risky to low risky, but still isn't compatible for lock lose . Don't construct your application on that supposition.

I guess that the best solution still is to find the putative pdxJDBC, which should require Paradox Runtime or BDE on every Windows host.
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
Mike
2007-02-22 10:30:37.0
Thanks I tried and it works fine need to do some more tests related to this to make sure all is working fine. Also can you please provide some document explaining all the properties for Connection Object. I saw the following in FAQ but really don't know they are for and what other properties are there:

delayedClose=15;maxCacheSize=6144;lockTimeout=2000

setting lockTimeout=-1 what exactly it do. Will appreciate if you have any document on this or any tunning doc. Thanks again for a quick response.
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
HXTT Support
2007-02-22 16:33:45.0
It's at Connecting to the Database.
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
Mike
2007-02-22 20:47:20.0
Thanks
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
Mike
2007-02-23 22:01:25.0
Hi,

Ran into another issue. Looks like when I have several sessions opened to insert/update/delete on one table I always get back 'r' 'rw' error. If I try one request it works fine. But am unable to do inserts/updates/deletes on the same table if there are huge number of requests accessing the same table. Is it something with the Drivers that I am not able execute any DML statements against the same table with several requests concurrently. Your response is appreciated.

Thanks
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
HXTT Support
2007-02-24 00:18:08.0
>I always get back 'r' 'rw' error.
What's your detailed error message? I met some readonly error when I using an old jcifs package, then those errors disappeared after I used the latest jcifs package.

>Looks like when I have several sessions opened to insert/update/delete on
>one table
Are you using multi Java VMs to open those SAMBA files? It seems that jcifs doesn't complement completely lock mechanism, and you can try to use a ParadoxServer to skip that issue. But if those sessions is from the same webserfver in one Java VM, we need to know more error information to make sure we can recur your issue, and find a soluiton for you.
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
Mike
2007-02-24 21:13:36.0
Hi,

>>>>>What's your detailed error message? I met some readonly error when I using an old jcifs package, then those errors disappeared after I used the latest jcifs package.

Here is the full error message that I get back in my java ws deployed on Oracle App. Server:
Database Error - Failed to upgrade the access mode of prd table from "r" to "rw"

>>>>Are you using multi Java VMs to open those SAMBA files? It seems that jcifs doesn't complement completely lock mechanism, and you can try to use a ParadoxServer to skip that issue. But if those sessions is from the same webserfver in one Java VM, we need to know more error information to make sure we can recur your issue, and find a soluiton for you

We are using one Java VM. We have one Oracle App Server where several Web Services are deployed. Now these Web Services are being invoked by several clients and at one particular instant several requests may be doing insert/update concurrently on one table on Paradox. And that's when we start seeing these errors. As these are Web Services and there are several clients that use these services. The request to these Web Services is pretty high we may be processing several hundered requests at the same time and may be all those requests are trying to doing inserts on the same table in the Paradox. So we only have one Java VM.

If I just process one request it works but looks like as soon as there are several requests working on the same table it does not work.

I don't know if it's the Drivers or the jcifs package. Your response is really appreciated.

Thanks
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
HXTT Support
2007-02-25 19:30:29.0
Failed to recur your issue:
>Database Error - Failed to upgrade the access mode of prd table from "r" to "rw"
You can use
catch( SQLException sqle )
{
do
{
System.out.println(sqle.getMessage());
System.out.println("Error Code:"+sqle.getErrorCode());
System.out.println("SQL State:"+sqle.getSQLState());
sqle.printStackTrace();
}while((sqle=sqle.getNextException())!=null);
}
to see detailed message.
Whether prd table has index file(px) or memo file(mb)?
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
Mike
2007-02-26 09:09:55.0
Thanks,

I'll re-test this again and see if I still encounter this or not. Also how can I find out if I am using the correct jcifs jars. Thanks again
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
Mike
2007-02-26 11:54:18.0
Hi,

I tested it again and the changes are not being reflected in the application. We have to close the application and log back in to see the new changes. Last week when I tested with the drivers you provided it was working but after fixing the concurrent request issues and lockTimeout=-1 the concurrent requests works fine but now the changes are not being reflected in the application we have to close down the application and log back-in to see the new data. Your response is really appreciated.

Thanks
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
HXTT Support
2007-02-26 16:10:29.0
>Also how can I find out if I am using the correct jcifs jars.
The jcifs 1.2.13 should be the latest package on Jan. 22th, 2007.

>Last week when I tested with the drivers you provided it was working but after
> fixing the concurrent request issues and lockTimeout=-1 the concurrent
> requests works fine but now the changes are not being reflected in the
> application
Whether without lockTimeout=-1 property, the latest package won't throw "Failed to upgrade the access mode of prd table from "r" to "rw"" error?

Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
Mike
2007-02-26 19:14:01.0
Hi,

Also the other thing I noticed now is if we try to do inserts/updates the changes are not reflected in the Application we have to close down and log back-in. Sometime the inserts/updates are reflected right away in our Application but sometimes we have to close the Application and come back-in. So it's not consistent. Any ideas why we are not able to see the new inserts/updates being reflected in the application consistently. Your response is appreciated.

Thanks
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
HXTT Support
2007-02-26 19:59:59.0
>Sometime the inserts/updates are reflected right away in our Application but
> sometimes we have to close the Application and come back-in.
I guess that it should be normal. According to our test, Paradox application will read file once and load all data into memory, and it will read file again if you click TDBNavigator component's Refresh data button.
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
Mike
2007-02-26 22:40:25.0
Hi,

The issue is if we do multiple inserts/updates most of the time they are not being reflected in the application and the user basically have no idea of any new records being inserted or updated. The only time they appear is if closing down the application and then logging back in. This is a concern as we are hoping to see any new changes to be reflected in the application without we being logging-off. A user have no idea when a new record is inserted or when an update took place and want those changes to be reflected in the tables and Application righ away.

So wondering if there's anything that drivers are able to do insert/update but is not able to commit changes to any other file that makes the records to appear in the Application. I tested this inserting 10 new records and updated 15 other records but I was only able to see 2 new records 8 I wasn't able to see all the updated records kept showing the old data. Even tried browsing to some other tables in the Application and coming back to the table where the changes took place but could not see all the changes it's only when closing the application and logging back-in then was able to see all the data. As the Application may be up all day and we may insert over thousands of using Paradox/JCIFS through Web Service but to a user they are not visible then it becomes an issue as all the data is very important and needs to be visible as soon as it come-in.

Wondering if there's a fix or anything in Paradox Drivers that takes care of this issue as we are not able to proceed without this being resolved as we are very close to what we want to acheive using Hxtt Paradox Drivers except this issue. Will appreciate your response.

Thanks.
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
HXTT Support
2007-02-27 02:23:46.0
>So wondering if there's anything that drivers are able to do insert/update but
> is not able to commit changes to any other file that makes the records to
> appear in the Application.
If you haven't enabled transaction, all insert/update are committed at once.

>I tested this inserting 10 new records and updated 15 other records but I was
> only able to see 2 new records 8 I wasn't able to see all the updated records
> kept showing the old data.
As I have noticed, Corel Paradox likes to load all data into memory, and is lazy to check file modification on disk. I noticed TDBNavigator component's Refresh data button, because I found it will trigger Paradox engine to read file. Who wrote Application for you, and can we get that applicaton for test purpose?

I googled and read http://www.elists.org/pipermail/delphi-db/2002-February/005414.html, and it seems that Paradox is lame for net share. Anyway, we will try to find whether there's a simple way to let your Applicaton to find those modifications at once.
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
Mike
2007-02-27 06:23:43.0
Hi,

I have to check with Management if it's ok to provide the copy of this Application. But according to you it's not Possible through Hxtt Paradox Drivers to make the changes appear right away in the application but you'll try to provide some kind of a fix. I would really like if the drivers can handle this as currently we have invested so much time on it. Will appreciate for your feedback and any fix.

Thanks
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
Mike
2007-02-27 21:55:18.0
Hi,

Any updates? Also I checked with the Business and providing a copy of Application will be hard as it's a large application that involves multiple pieces and is not possible to have it ready right away. So the last bet is to wait on you for some kind of a fix. Your response is really appreciated.

Thanks
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
HXTT Support
2007-02-27 22:01:06.0
Then we will try to guess the possible solution to let your application find the modifications.
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
Mike
2007-02-28 06:24:20.0
Hi,

Any ideas when we can expect something.

Thanks
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
Mike
2007-02-28 16:09:09.0
Hi,

Looking at the severity level and importance of this issue we will be able to provide you with a copy of our application for you to test and come up with some fix. But I need to send you a "Disclaimer Form" that we need you to sign and email us back along with the instructions on how to get this application to you. Can you please provide an eamil address where we can email the Disclaimer Form so you can sign it and email us back. I think uploading it won't help as it's on one CD and there are special instructions to install and use. Wait for your response. Or meantime if you have something for us to try will help until you get this Application and come up with an exact resolution.

Thanks.
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
Mike
2007-03-01 06:54:18.0
Hi,

Any updates?

Thanks.
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
HXTT Support
2007-03-01 15:37:45.0
We are attempting to solve it still, and please wait about 48 hours. Thanks for your patience.
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
Mike
2007-03-03 08:47:29.0
Hi,

I just downloaded the new version and don't know if it's the final version or is it still being worked on. I did some intial tests and here are some issues I still see. Inserts seems to work and anytime a new record is inserted I am able to see it in the Application. I tested it couple of times and do see the new records but the problem still persists for updates. Any time I update a record it somehow does not reflect in the Application. Sometime I do see the updated record but most of the time it keeps showing the old data. If I close the Application and log back-in I do see the changes.

I haven't performed regression tests as I encountered into this issue so am wondering if you still are working on it. Your response is really appreciated.

Thanks
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
HXTT Support
2007-03-03 08:52:45.0
We're still working to find a solution to notify Corel Paradox the data modification, and let it to read data from disk, not from memory.
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
Mike
2007-03-05 22:41:39.0
Hi,

Just checking to see if there are any updates. Your response is appreciated.

Thanks
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
HXTT Support
2007-03-06 01:55:14.0
No update until now. We tried to modify LCK file, since Corel Paradox will read LCK file, but read data from a temporary database file from a temporary directory. We failed. Now we're tring to modify PDOXUSRS.NET at C:\ .
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
Mike
2007-03-06 07:28:38.0
Thanks for an update.
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
Mike
2007-03-07 20:39:02.0
Hi,

Any updates?

Thanks
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
Mike
2007-03-08 22:33:25.0
Hi,

Any updates? Will appreciate your feedback.

Thanks
Re:Re:Re:Re:Re:Re:Re:Re:Unable to connect to Paradox when deployed the Application on Unix Box
Mike
2007-03-13 10:27:57.0
Hi,

After testing the new driver we find that the behavior is still not satisfactory.

Updates appear to be working, but Inserts are not.

When we insert a new record in the TRK table using Azeem's test program, we are inserting only two values into the table: TRUCKID and HTID. There are many columns that are null in this test.

Updates, as I said, are working. If we update the HTID on a TRK record while the BMG application is running, the new value is immediately visible in the BMG application.

If we insert a new record in the table, the new TRUCKID is visible on our drop-down list, but the value of HTID is not visible on the BMG screen. In addition, the two records following the new record on the drop-down list are also coming up blank on the BMG screen. HTID and all other fields, except for TRUCKID, are empty for these two existing records.

The new record is available to be queried using direct SQL through the HXTT driver, however.

Your response is really appreciated. Please let us know if there's anything we can do or if need a copy of our application for your testing.


Thanks

Search Key   Search by Last 50 Questions




Google
 

Address: 9 Station Rd., Xiangtan City, Hunan Province, P.R. China
Postcode: 411100
Phone: (86)731-58225727
Fax: (86)731-58225727
Email: webmaster@hxtt.com
Copyright © 1999-2011 Hongxin Technology & Trade Ltd. | All Rights Reserved. | Privacy | Legal | Sitemap