The most recent version of this document can be viewed at here.
1. How to know the detailed version information of HXTT PDF package?
1st way: "java com.hxtt.sql.pdf.PDFDriver" will print that information.
2nd way: check that MANIFEST.MF file in jar file.
2. Why I got "Illegal key size" for 256-bit AES(Acrobat X and later)?
In Java, by default AES supports a 128 Bit key, if you plans to use 192 Bit or 256 Bit key, java complier will throw Illegal key size Exception, which you are getting. The solution is you will need to download JCE (Java Cryptography Extension) as per your JRE version,(java6, java7 or java8). The JCE zip contains local_policy.jar and US_export_policy.jar . You need to replace these jar form your <JAVA_HOME>/jre/lib/security . If you are on a unix system, it will probably refer to /home/urs/usr/lib/jvm/java-<version>-oracle/ . With Java 9, Java 8u161, Java 7u171 and Java 6u181 the limitation is now disabled by default. You can download local_policy.jar and US_export_policy.jar from our site.
3. What is difference between the HXTT PDF Package, Embedded Package, and Remote Access Package? Can I get some sample code to use the HXTT PDF?
The HXTT PDF supports Embedded and Remote Access. HXTT PDF Package includes a Database GUI manager. If you're accessing the local data, you can use the HXTT PDF Package or Embedded Package. If you're accessing the remote data, you can use the HXTT PDF Package or Remote Access Package. There is no any difference for your code to use anyone of three packages. Please download the demo package from here.
4. What causes the 'No suitable driver' SQLException?
Access by PDF Server: Skip it if you don't use TCP, RMI or JINI.
5. How to setup PDF url on the Novell Server?
6. I got "java.io.IOException: Permission denied" sometimes for my SELECT query.
Please figure out what directory Java's java.io.tmpdir system property points to, and make sure that directory is writable by the user that runs your Java applications, otherwise you should set tmpdir properity in Connection properity to a writable directory. tmpdir properity indicates whether set a temp directory, Default: the value of JVM's "java.io.tmpdir" property. If that value is incorrect, uing the directory of JDBC url.
7. When I used jdbc:pdf:/<DatabasePath>, the connection's schema was empty. "create catalog if not exists pdffiles". What is Catalog?
PDF's schema is always empty. You can use catalog to query subdirectory. Catalog means a directory, which contains some PDF files.
1. I already configured the .java.policy for my applet, but I continue with problems of "acess denied".
For instance, you're using "jdbc:pdf:/C:/test", and grant codeBase "file:/C:/test" in your policy file, but your applet is running from "D:\sample\CargaStatApplet.html". You should grant codeBase "file:/D:/sample", not "file:/c:/test".
2. http://localhost:8080/jdbcapplet.html, the applet started but returns a Classnotfound com.hxtt.sql.pdf.PDFDriver error in the gui list.
Please add a codebase tag. For instance, "<applet code="jdbcapplet.class" codebase="PDF_Remote_Access_JDBC40.jar"></applet>". The PDF_Remote_Access_JDBC40.jar should be at the same directory of jdbcapplet.html.
1. Client/Server mode question: The data directory is not in the IBM machine where the Java program should run, but instead those PDF files are in another machine with Windows operating system.
"jdbc:pdf://10.32.90.48:" + 8029 +"/"+databaseDirectory;' to visit your PDF database from your IBM machine. If you're running that GUI manager on "yourNT.com" host to visit "c:/database" directory, you can use "jdbc:pdf://yourNT.com:8029/c:/database" on your web application. jdbc:pdf://yourNT.com:8029/c:/database?user=oneuser&password=onepassword can provide a simply user/password verification for client/server mode. If you wish to write a secure PDF server for some sensitive information, embedded encrypt/decrypt functions can help you.
2. Remote access through map network drive question: How to remote access PDF data without PDFServer?
You can share your remote directory which contains your data files, then map it to a local driver.
You should put additional registry entry like e.g.
HKey_Local_Machine \ System \ CurrentControlSet \ Services \ LanmanServer \ Parameters \ EnableOpLocks must be set to 0.
HKey_Local_Machine \ System \ CurrentControlSet \ Services \ LanmanServer \ Parameters \ CachedOpenLimit must be set to 0.
HKey_Local_Machine \ System \ CurrentControlSet \ Services \ LanmanWorkStation \ Parameters \ UseOpportunisticLocking must be set to 0.
HKey_Local_Machine \ System \ CurrentControlSet \ Services \ LanmanWorkStation \ Parameters \ UtilizeNtCaching must be set to 0.
For Linux: You can use mounting. One user uses Samba to maped NTFS partitions in Linux servers, and PDF driver works normally like mapping any mount point in Linux.
For Novell: You can map NCP directory as driver or mount NCP directory.
3. Remote access through UNC path question: Can I setup only one datasource to access four servers for my Cold Fusion?
To access one unc path, you can use jdbc:pdf:/\\PC17\c$\values or jdbc:pdf:/\\PC17\val.
4. Remote access through http/https/ftp protocol question: How to let my program to fetch data daily from our web host?
You need to use url database, which supports http protocol, https protocol, ftp protocol, and sftp protocol.
You need to use SAMBA table, which needn't to map or mount driver.
HXTT PDF supports port mapping and NAT route. Let HXTT PDF listening a port on the database server, and modify your route table or NAT table to map an external port to that internal port. You can use "start java -Djava.security.policy=policy com.hxtt.sql.admin.Admin" to start GUI manager. You should add a remote url, for instance, jdbc:pdf://localhost:8029/d:/pdffiles, and click Start button to start that server. Then on your internet client side, you can use jdbc:pdf://externalIP:8029/d:/pdffiles to access your intranet host. externalIP means an external IP or domain name address of your gateway or database server.
BTW, except for TCPServer protocol, HXTT PDF can use also RMIServer protocol. For instance, you have used "start rmiregistry 1099 -J-Djava.security.policy=yourPolicyFile" to startup your rmi service. Then you can use jdbc:pdf://localhost:1099/d:/pdffiles?serverType=RMIServer to let HXTT PDF bind remote service in registry. The key is use "java -Djava.security.policy=policy -Djava.rmi.server.hostname=externalIP com.hxtt.sql.admin.Admin RMISERVER 8029" to start your server. RMIServer protocol is slower much than the default TCPServer protcol.
7. I would like to start a server (TCP) from our application, instead of DBAdmin. I need to be able to programmatically tell the application which profile to start.
Please read Start/Stop Server Programmatically.
8. Is there a way to specify a file path in the url that will connect to a mapped drive in Windows 2000. ie drive \\gomer\pyle\db which is mapped to f drive on the server.
PDF driver can work with mapped driver, and you should use "jdbc:pdf:/f:" to access your data.
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 (Tomcat, or tanuki sw wrapper) 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 (Tomcat, or tanuki sw wrapper) using the local system account.
10. How to start remote service as MS Windows service and Linux(Solaris) Daemon?
Please read Run HXTT PDFServer as Windows Service or Linux(Solaris) Daemon.
11. How to start remote control when PDFServer is running as Windows service or Linux(Solaris) Daemon?
You can use "java com.hxtt.sql.admin.Admin TCPCLIENT [host:]port [remoteControlPassword]" to start your remote control.
1. How to use password to open an encrypted PDF file?
2. How to return text content for a pdf file?
"select STRING_AGG(textline,'\r\n') as content from testpdf.page1;" will return the content for page 1 in testpdf.pdf file.
"select STRING_AGG(textline,'\r\n') as content from testpdf;" will return all content for testpdf.pdf file.
3. How to fill a form in a pdf file?
"select *,words from testpdf.page1;" will return all text content information in testpdf.pdf file.
to replace the old text content.
3. How to cldear content in a pdf file?
1. Does HXTT PDF support multi-user access?
The HXTT PDF supports multi-user access, and you can update document incrementally.
1. How to set up HXTT PDF with Tomcat4.1 as PoolableConnection?
If you use org.apache.commons.dbcp.BasicDataSource, but get "Cannot create PoolableConnectionFactory" Error, you should check your commons-pool-1.x.jar and commons-dbcp-1.*.jar file in $TOMCAT/common/lib directory to see whether two files have the same version. DBCP v1.2 requires Pool v1.2 so that you should update Pool v1.1 from the tomcat website.
2. How to set up HXTT PDF with vqServer 1.9.55 as web server?
The key is to use an absolute path as Java libraries' location, and restart vqServer after modified Java libraries.
For instance, your vqServer is installed at C:\vqServer\.
1. Please use http://yourhost:9090/ to visit your administration server.
4. Enter C:\vqServer\classes\PDF_JDBC20.jar as location value, PDF Driver as Description value, then click OK button.
5. Please copy PDF_JDBC20.jar into C:\vqServer\classes directory.
8. Please use http://yourhost/servlet/yourServlets to get your result.
3. How to set up HXTT PDF with Coldfusion MX 6.1 Application Server?
For instance,your Coldfusion MX is installed at C:\CFusionMX\, and wish to use PDF_JDBC30.jar.
1. Please copy PDF_JDBC30.jar into C:/CFusionMX/wwwroot/WEB-INF/classes/.
2. Use http://yourhost:8500/CFIDE/administrator/index.cfm to enter the CFMX Administrator.
3. Go to the "Java and JVM" of Server Settings, http://yourhost:8500/CFIDE/administrator/settings/jvm.cfm page, and enter the full path, C:/CFusionMX/wwwroot/WEB-INF/classes/PDF_JDBC30.jar, in the Class Path. Then, click "Submit Changes".
4. Restart the CFMX Service.
5. Please go back to the administrator page, and go to the "Data Sources" of Data & Services, http://yourhost:8500/CFIDE/administrator/datasources/index.cfm page, and enter the name for the new datasource, for instance "PDFTest", and select "Other" for the driver. Then Click "Add".
6. Enter the datasource information. JDBC URL is always in the format jdbc:pdf:[//[host:port]]/[DatabasePath], for instance jdbc:pdf:/c:/data. You can set more connection properties in your JDBC URL, for instance: jdbc:pdf:/c:data?delayedClose=15;maxCacheSize=6144;lockTimeout=2000; . Driver class is always com.hxtt.sql.pdf.PDFDriver. Driver name is used to identify the driver in the datasources view, and you can use PDF. Username and password are not required. They can also be specified in the cfquery tag (but datasource verification will fail if you don't enter them). Description is not required.
7. Lastly, please press "Submit" to finalize the entered data.
8. You can find edit.cfm and edit_action.cfm sample in demo pacakge.
4. HXTT PDF with If you run ColdFusion (Tomcat, or alexandria sw and tanuki sw wrapper) on Windows 2000 and Windows XP Pro does not work on mapped drives.
1. Right click the service built by ColdFusion (Tomcat, or tanuki sw wrapper) in service manager, and click the property menu.
2. On the open window,select the login tab, click this account radio box, and click the browse button.
3. Select the administrator account(it seems that you should select the administrator account), input the correct password in the password textbox and confirm password textbox.
4. Restart this service, you can find this service can access the share directory at other machine.
5. How to resolve 'DataSet has no unique row identifiers.' issue in JBuilder's QueryDataSet?
6. How to set HXTT PDF with WebSphere Application Server?
You can download a pdf guide from here.
7. How to set HXTT PDF with Hibernate?
You should download support package and sample from here.
8. How to set HXTT PDF Data Source with Oracle Application Server 10G?
You should read guide at Oracle Application Server 10G(v10.1.3) and Oracle Application Server 10G(v10.1.2.02).
9. How to set HXTT PDF Data Source with JBoss AS 7.0.2?
After downloading HXTT PDF driver jar file. just move the HXTT PDF driver jar file into Jboss 7 installation directory under standalone/deployments (jboss-as-web-7.0.2.Final/standalone/deployments).
In Jboss Administration console you can press Add button of Datasource Configurations. step 1/3 Datasource Attributes: enter datasource name(testpdf) and jndi name(testpdf) then click Next button. step 2/3 JDBC Driver: select HXTT PDF driver jar file. click Next Nutton. Step 3 Connection Settings: enter connection URL (jdbc:pdf:////data) , Username(null) and Password(null). finally click Done button.
10. How to set HXTT PDF Data Source with Railo 3.3.1 Express?
After downloading HXTT PDF driver jar file. just move the HXTT PDF driver jar file into Railo 3 installation directory under /lib/ext/railo-server/context/library (railo-3.3.1.000//lib/ext/railo-server/context/library).
click Railo Server Administrator (or type http://localhost:8888/railo-context/admin/server.cfm).
In Services - Datasource of Railo Server Administrator console, you can Create new datasource: step 1/2 Name: enter datasource name(testpdf) and Type(Other - JDBC driver) then click create button. step 2/2 enter Class(com.hxtt.sql.pdf.PDFDriver), DSN(jdbc:pdf:////data), Username(null) and Password(null). finally click create button.
11. Where's JDBC Connection Pool Templates for GlassFish?
12. How to set HXTT PDF database in DBeaver?
Open the DBeaver application, in the Databases menu, click the Driver Manager item. Click New to open the Create New Driver form.
In the Driver Name box, enter a user-friendly name for the driver, for isntance, testPDF.
In the Class Name box, enter com.hxtt.sql.pdf.PDFDriver.
In the URL Template box, enter jdbc:pdf: .
In the Category box, enter PDF.
In the Libraries panel, click Add File so that load the driver JAR (for instance, PDF_JDBC40.jar) in DBeaver.
In the Open driver library dialog that appears, select the PDF_JDBC40.jar file.
In the Databases menu, click New Connection item.
In the Create new connection wizard that results, select PDF, then testPDF.
On the next page of the wizard, click the Driver properties tab.
Add new property, Property Name is database, Value is the path of your database file, for instance, d:/test/pdf .
13. How to set HXTT PDF with Apache EmpireDB?
You should download support package from here.
13. Does HXTT PDF driver support XA connections ?
It provides an experimental com.hxtt.sql.HxttXADataSource .
14. How to set HXTT PDF into my projects maven pom.xml.?
The last parameter for generating a POM will save you from pom.xml warnings.
15. How to set HXTT PDF Data Source with JBoss Application Server 4.0.1?
16. How to set HXTT PDF database dialect with EclipseLink of Glassfish?
17. How to set HXTT PDF database dialect with TopLink of Glassfish?
18. How to set HXTT PDF database in JasperSoft Studio?
1. right-click a project in the Project Explorer and select New > Data Adapter to open the Data Adapters Wizard.
3. Enter a file name for your adapter and click Next.
4. Select Database JDBC Connection as the data adapter typeand click Next.
8. Click Driver Classpah tab.
9. Click Add button to select the PDF_JDBC40.jar file.
10. Click Finish to create the adapter.
19. How to set HXTT PDF database in Jasper Server?
Now you need to copy the driver (the PDF_JDBC40.jar file) to the classpath of your application server to enable JasperServer to find it.
In general it's best to copy the driver to the application server's shared library location. Refer to your application server documentation for exact locations.
3. Type choose JDBC Data Source. JDBC Driver option choose Other... .
5. URL (required): enter jdbc:pdf:/yourDatabasePath .
7. Data Source Name (required): enter a user-friendly name for the driver, for isntance, testPDF.