Jdbc mysql bug?!?!
Hi all,
I'm using jsc and mysql in my webapp.
I need to show full names in a listbox:
I have a table with several columns, in particular I have name and surname.
Somewhere I found a tutorial to modify sql query:
it's quite simple, just to use CONCAT....
If I run the query it works, but it does't name the result with alias I defined into the query... so I have no way to tell to my webapp to show this column.
Has anyone experienced the same??
I solved creating a view in my db and getting data from this view...
Some else here reported a similiar "column alias ignored" type of issue not too long ago.
They reverted to an earlier version of the mysql jdbc driver -
connectorJ/version 5.X failed, version 3.1.XX worked.
You can verify it's a JDBC driver bug by opening a view data window, enter "smd", a space, then your select statement, then run This will then show the metadata the driver provides. Does it show your column alias? If not, file a bug with MySQL.
Similar Messages
-
No suitable driver found for jdbc:mysql
Running :
Windows XP ver 5.1 on x86
Java 1.6.0_03
VM Java HotSpot Client VM 1.6.003-b05
Java jdk1.6.0\jre
MySQL ver 14.12 Distrib 5.0.45 for Win32 (ia32)
NetBeans IDE 5.5.1 (Build 200704122300)
Classpath set to:
E:\Programfiler\Java\jre1.6.0_03\lib\ext\QTJava.zip;E:\Programfiler\MySQL\mysql-connector-java-5.1.5\mysql-connector-java-5.1.5-bin.jar
MySQL (Connector/J driver)
Can connect to database at Runtime folder in Netbeans IDE.
Can see all tables and read them but when I run following code:
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
} catch (Exception e) {
System.err.println(e.toString());
I get following result;
run:
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
java.sql.SQLException:
://localhost:3306/test
at java.sql.DriverManager.getConnection(DriverManager.java:602)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at viewtable01.Main.main(Main.java:43)
BUILD SUCCESSFUL (total time: 0 seconds)
PLEASE HELP, I'M GOING NUTSI'M GOING NUTSI'm already there...
Try this at a new command prompt (start~run: cmd)
$ dir E:\Programfiler\MySQL\mysql-connector-java-5.1.5\mysql-connector-java-5.1.5-bin.jarDoes it exist?
If not then fix your classpath.
If so then start~run: notepad ConnectorTest.java
import java.sql.Connection;
import java.sql.DriverManager;
public class ConnectorTest {
public static void main (String[] args) {
Connection conn = null;
try {
String userName = args[0];
String password = args[1];
String url = "jdbc:mysql://localhost/test";
Class.forName("com.mysql.jdbc.Driver").newInstance ();
conn = DriverManager.getConnection(url, userName, password);
System.out.println ("OK");
} catch (Exception e) {
e.printStackTrace();
} finally {
if(conn != null)try{conn.close();}catch(Exception eaten){}
javac -cp E:\Programfiler\MySQL\mysql-connector-java-5.1.5\mysql-connector-java-5.1.5-bin.jar ConnectorTest.java
java -cp E:\Programfiler\MySQL\mysql-connector-java-5.1.5\mysql-connector-java-5.1.5-bin.jar ConnectorTest ${username} ${password}When you've got it working at the command line then you can work out how to specify the libraries in netbeans... it's not hard, and it's very well covered in the netbeans help.
You do know that netbeans doesn't use the system classpath don't you... because the classpath really needs to be specified on a project by project basis, mainly to allow you deal with libraries which depend on particular versions of other libraries. Ant's dependancy on xalan and xerces is a notable example.
IMHO (in my humble opinion) newbies are better of working at the command prompt whilst learning the java language. A modern IDE is a complex beasty in it's own right, which tends to distract your main focus, learning java. I'm not alone in this opinion. Take it or leave it.
Cheers, Keith.
Edited by: corlettk on Nov 10, 2007 11:53 PM -
Getting an error in JDBC mySQL Connection
Hi,
I am creating JDBC mySQL Connection error.
The eror messsage is
Incorrect name parameter jdbc:mysql://10.114.16.70:3306/kaushikb root,pass in naming operation.where root is the username and pass is the password and kaushikb is the database name.
I am entering the tablename as: emptable.
Regards
Taton
Edited by: Taton on Dec 11, 2008 3:15 PMLet me guess: you did
getConnection("jdbc:mysql://10.114.16.70:3306/kaushikb root,pass");rather than
getConnection("jdbc:mysql://10.114.16.70:3306/kaushikb", "root", "pass"); -
Serious problem of jdbc-mysql connectivity using tomcat
hi everybody
i m in serious problem since last 15-20 days. i m trying hard to make the connection jdbc-mysql using tomcat with the help of a jsp test page but every time i am facing almost the similar probems listed below in detail:
to make sure that the jdrivers's .jar (mysql-connector-java-3.1.7-bin.jar) available for such connections working fine i have tried the above said connection without using tomcat....which is working fine...for this i have created a dummy database with a dummy table ..and written some queries in the .java file of my code which upon running inserts the specified values in the defined(dummy) database.
this is the confirmation that the classpath etc..are ok in regard to the mysql-connector-java-3.1.7-bin.jar
now i have placed a copy of this .jar file in to the commons/lib directory of the tomcat web server(which is suppossed to be the place for such external jars)
after doing so i have followed 2 methods :
method 1st:........
i have made aone more jar file from the following .java file....
import javax.naming.*;
import javax.sql.*;
import java.sql.*;
public class TestSQLLoad
String user = "Not Connected";
String pwd = "no pwd";
int id = -1;
public void init() {
try{
Context ctx = new InitialContext();
if(ctx == null ) {
throw new Exception("Boom - No Context");
DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/TestDB");
if (ds != null) {
Connection conn = ds.getConnection();
if(conn != null) {
user = "Got Connection "+conn.toString();
Statement stmt = conn.createStatement();
String q = "select name, password, id from user";
ResultSet rst = stmt.executeQuery(q);
if(rst.next()) {
user=rst.getString(1);
pwd=rst.getString(2);
id = rst.getInt(3);
conn.close();
}catch(Exception e) {
e.printStackTrace();
public String getUser() {
return user;
public String getPassword() {
return pwd;
public int getID()
return id;
after compiling it at the cmd prompt i made a .jar file from the .class of it and named it MySQLLoad.jar...then i placed it also in to the commons/lib directory where the mysql-connector-java-3.1.7-bin.jar was already placed.
then i have changed the server.xml and web.xml files from the conf directory of the tomcat as given here:
server.xml
<!-- Example Server Configuration File -->
<!-- Note that component elements are nested corresponding to their
parent-child relationships with each other -->
<!-- A "Server" is a singleton element that represents the entire JVM,
which may contain one or more "Service" instances. The Server
listens for a shutdown command on the indicated port.
Note: A "Server" is not itself a "Container", so you may not
define subcomponents such as "Valves" or "Loggers" at this level.
-->
<Server port="8005" shutdown="SHUTDOWN">
<!-- Comment these entries out to disable JMX MBeans support used for the
administration web application -->
<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<!-- Global JNDI resources -->
<GlobalNamingResources>
<!-- Test entry for demonstration purposes -->
<Environment name="simpleValue" type="java.lang.Integer" value="30"/>
<!-- Editable user database that can also be used by
UserDatabaseRealm to authenticate users -->
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
</GlobalNamingResources>
<!-- A "Service" is a collection of one or more "Connectors" that share
a single "Container" (and therefore the web applications visible
within that Container). Normally, that Container is an "Engine",
but this is not required.
Note: A "Service" is not itself a "Container", so you may not
define subcomponents such as "Valves" or "Loggers" at this level.
-->
<!-- Define the Tomcat Stand-Alone Service -->
<Service name="Catalina">
<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
<Connector
port="80" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
<!-- Note : To disable connection timeouts, set connectionTimeout value
to 0 -->
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009"
enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
<!-- Define the top level container in our container hierarchy -->
<Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="/testdb" docBase="TOMCAT_HOME/webapps/tomcat-docs/testdb"
debug="5" reloadable="true" crossContext="true" >
<Logger className="org.apache.catalina.logger.FileLogger"
prefix="localhost_DBTest_log." suffix=".txt"
timestamp="true"/>
<Resource name="jdbc/TestDB"
auth="Container"
type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/TestDB">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>10</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>5</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>10000</value>
</parameter>
<!-- MySQL dB username and password for dB connections -->
<parameter>
<name>username</name>
<value>root</value>
</parameter>
<parameter>
<name>password</name>
<value>mysql</value>
</parameter>
<!-- Class name for mm.mysql JDBC driver -->
<parameter>
<name>driverClassName</name>
<value>com.mysql.jdbc.Driver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:mysql://localhost/testdb?autoReconnect=true</value>
</parameter>
</ResourceParams>
</Context>
</Host>
</Engine>
</Service>
</Server>
and the other xml file i.e
web.xml is here:
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<servlet>
<servlet-name>default</servlet-name>
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/TestDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-cl ***>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>invoker</servlet-name>
<servlet-class>
org.apache.catalina.servlets.InvokerServlet
</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
<init-param>
<param-name>fork</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>xpoweredBy</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>invoker</servlet-name>
<url-pattern>/servlet/*</url-pattern>
</servlet-mapping>
<!-- The mapping for the JSP servlet -->
<servlet-mapping>
<servlet-name>jsp</servlet-name>
<url-pattern>*.jsp</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>jsp</servlet-name>
<url-pattern>*.jspx</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>30</session-timeout>
</session-config>
<mime-mapping>
<extension>abs</extension>
<mime-type>audio/x-mpeg</mime-type>
</mime-mapping>
<mime-mapping>
<extension>ai</extension>
<mime-type>application/postscript</mime-type>
</mime-mapping>
<mime-mapping>
<extension>aif</extension>
<mime-type>audio/x-aiff</mime-type>
</mime-mapping>
<mime-mapping>
<extension>aifc</extension>
<mime-type>audio/x-aiff</mime-type>
</mime-mapping>
<mime-mapping>
<extension>aiff</extension>
<mime-type>audio/x-aiff</mime-type>
</mime-mapping>
<mime-mapping>
<extension>aim</extension>
<mime-type>application/x-aim</mime-type>
</mime-mapping>
<mime-mapping>
<extension>art</extension>
<mime-type>image/x-jg</mime-type>
</mime-mapping>
<mime-mapping>
<extension>asf</extension>
<mime-type>video/x-ms-asf</mime-type>
</mime-mapping>
<mime-mapping>
<extension>asx</extension>
<mime-type>video/x-ms-asf</mime-type>
</mime-mapping>
<mime-mapping>
<extension>au</extension>
<mime-type>audio/basic</mime-type>
</mime-mapping>
<mime-mapping>
<extension>avi</extension>
<mime-type>video/x-msvideo</mime-type>
</mime-mapping>
<mime-mapping>
<extension>avx</extension>
<mime-type>video/x-rad-screenplay</mime-type>
</mime-mapping>
<mime-mapping>
<extension>bcpio</extension>
<mime-type>application/x-bcpio</mime-type>
</mime-mapping>
<mime-mapping>
<extension>bin</extension>
<mime-type>application/octet-stream</mime-type>
</mime-mapping>
<mime-mapping>
<extension>bmp</extension>
<mime-type>image/bmp</mime-type>
</mime-mapping>
<mime-mapping>
<extension>body</extension>
<mime-type>text/html</mime-type>
</mime-mapping>
<mime-mapping>
<extension>cdf</extension>
<mime-type>application/x-cdf</mime-type>
</mime-mapping>
<mime-mapping>
<extension>cer</extension>
<mime-type>application/x-x509-ca-cert</mime-type>
</mime-mapping>
<mime-mapping>
<extension>class</extension>
<mime-type>application/java</mime-type>
</mime-mapping>
<mime-mapping>
<extension>cpio</extension>
<mime-type>application/x-cpio</mime-type>
</mime-mapping>
<mime-mapping>
<extension>csh</extension>
<mime-type>application/x-csh</mime-type>
</mime-mapping>
<mime-mapping>
<extension>css</extension>
<mime-type>text/css</mime-type>
</mime-mapping>
<mime-mapping>
<extension>dib</extension>
<mime-type>image/bmp</mime-type>
</mime-mapping>
<mime-mapping>
<extension>doc</extension>
<mime-type>application/msword</mime-type>
</mime-mapping>
<mime-mapping>
<extension>dtd</extension>
<mime-type>text/plain</mime-type>
</mime-mapping>
<mime-mapping>
<extension>dv</extension>
<mime-type>video/x-dv</mime-type>
</mime-mapping>
<mime-mapping>
<extension>dvi</extension>
<mime-type>application/x-dvi</mime-type>
</mime-mapping>
<mime-mapping>
<extension>eps</extension>
<mime-type>application/postscript</mime-type>
</mime-mapping>
<mime-mapping>
<extension>etx</extension>
<mime-type>text/x-setext</mime-type>
</mime-mapping>
<mime-mapping>
<extension>exe</extension>
<mime-type>application/octet-stream</mime-type>
</mime-mapping>
<mime-mapping>
<extension>gif</extension>
<mime-type>image/gif</mime-type>
</mime-mapping>
<mime-mapping>
<extension>gtar</extension>
<mime-type>application/x-gtar</mime-type>
</mime-mapping>
<mime-mapping>
<extension>gz</extension>
<mime-type>application/x-gzip</mime-type>
</mime-mapping>
<mime-mapping>
<extension>hdf</extension>
<mime-type>application/x-hdf</mime-type>
</mime-mapping>
<mime-mapping>
<extension>hqx</extension>
<mime-type>application/mac-binhex40</mime-type>
</mime-mapping>
<mime-mapping>
<extension>htc</extension>
<mime-type>text/x-component</mime-type>
</mime-mapping>
<mime-mapping>
<extension>htm</extension>
<mime-type>text/html</mime-type>
</mime-mapping>
<mime-mapping>
<extension>html</extension>
<mime-type>text/html</mime-type>
</mime-mapping>
<mime-mapping>
<extension>hqx</extension>
<mime-type>application/mac-binhex40</mime-type>
</mime-mapping>
<mime-mapping>
<extension>ief</extension>
<mime-type>image/ief</mime-type>
</mime-mapping>
<mime-mapping>
<extension>jad</extension>
<mime-type>text/vnd.sun.j2me.app-descriptor</mime-type>
</mime-mapping>
<mime-mapping>
<extension>jar</extension>
<mime-type>application/java-archive</mime-type>
</mime-mapping>
<mime-mapping>
<extension>java</extension>
<mime-type>text/plain</mime-type>
</mime-mapping>
<mime-mapping>
<extension>jnlp</extension>
<mime-type>application/x-java-jnlp-file</mime-type>
</mime-mapping>
<mime-mapping>
<extension>jpe</extension>
<mime-type>image/jpeg</mime-type>
</mime-mapping>
<mime-mapping>
<extension>jpeg</extension>
<mime-type>image/jpeg</mime-type>
</mime-mapping>
<mime-mapping>
<extension>jpg</extension>
<mime-type>image/jpeg</mime-type>
</mime-mapping>
<mime-mapping>
<extension>js</extension>
<mime-type>text/javascript</mime-type>
</mime-mapping>
<mime-mapping>
<extension>jsf</extension>
<mime-type>text/plain</mime-type>
</mime-mapping>
<mime-mapping>
<extension>jspf</extension>
<mime-type>text/plain</mime-type>
</mime-mapping>
<mime-mapping>
<extension>kar</extension>
<mime-type>audio/x-midi</mime-type>
</mime-mapping>
<mime-mapping>
<extension>latex</extension>
<mime-type>application/x-latex</mime-type>
</mime-mapping>
<mime-mapping>
<extension>m3u</extension>
<mime-type>audio/x-mpegurl</mime-type>
</mime-mapping>
<mime-mapping>
<extension>mac</extension>
<mime-type>image/x-macpaint</mime-type>
</mime-mapping>
<mime-mapping>
<extension>man</extension>
<mime-type>application/x-troff-man</mime-type>
</mime-mapping>
<mime-mapping>
<extension>me</extension>
<mime-type>application/x-troff-me</mime-type>
</mime-mapping>
<mime-mapping>
<extension>mid</extension>
<mime-type>audio/x-midi</mime-type>
</mime-mapping>
<mime-mapping>
<extension>midi</extension>
<mime-type>audio/x-midi</mime-type>
</mime-mapping>
<mime-mapping>
<extension>mif</extension>
<mime-type>application/x-mif</mime-type>
</mime-mapping>
<mime-mapping>
<extension>mov</extension>
<mime-type>video/quicktime</mime-type>
</mime-mapping>
<mime-mapping>
<extension>movie</extension>
<mime-type>video/x-sgi-movie</mime-type>
</mime-mapping>
<mime-mapping>
<extension>mp1</extension>
<mime-type>audio/x-mpeg</mime-type>
</mime-mapping>
<mime-mapping>
<extension>mp2</extension>
<mime-type>audio/x-mpeg</mime-type>
</mime-mapping>
<mime-mapping>
<extension>mp3</extension>
<mime-type>audio/x-mpeg</mime-type>
</mime-mapping>
<mime-mapping>
<extension>mpa</extension>
<mime-type>audio/x-mpeg</mime-type>
</mime-mapping>
<mime-mapping>
<extension>mpe</extension>
<mime-type>video/mpeg</mime-type>
</mime-mapping>
<mime-mapping>
<extension>mpeg</extension>
<mime-type>video/mpeg</mime-type>
</mime-mapping>
<mime-mapping>
<extension>mpega</extension>
<mime-type>audio/x-mpeg</mime-type>
</mime-mapping>
<mime-mapping>
<extension>mpg</extension>
<mime-type>video/mpeg</mime-type>
</mime-mapping>
<mime-mapping>
<extension>mpv2</extension>
<mime-type>video/mpeg2</mime-type>
</mime-mapping>
<mime-mapping>
<extension>ms</extension>
<mime-type>application/x-wais-source</mime-type>
</mime-mapping>
<mime-mapping>
<extension>nc</extension>
<mime-type>application/x-netcdf</mime-type>
</mime-mapping>
<mime-mapping>
<extension>oda</extension>
<mime-type>application/oda</mime-type>
</mime-mapping>
<mime-mapping>
<extension>pbm</extension>
<mime-type>image/x-portable-bitmap</mime-type>
</mime-mapping>
<mime-mapping>
<extension>pct</extension>
<mime-type>image/pict</mime-type>
</mime-mapping>
<mime-mapping>
<extension>pdf</extension>
<mime-type>application/pdf</mime-type>
</mime-mapping>
<mime-mapping>
<extension>pgm</extension>
<mime-type>image/x-portable-graymap</mime-type>
</mime-mapping>
<mime-mapping>
<extension>pic</extension>
<mime-type>image/pict</mime-type>
</mime-mapping>
<mime-mapping>
<extension>pict</extension>
<mime-type>image/pict</mime-type>
</mime-mapping>
<mime-mapping>
<extension>pls</extension>
<mime-type>audio/x-scpls</mime-type>
</mime-mapping>
<mime-mapping>
<extension>png</extension>
<mime-type>image/png</mime-type>
</mime-mapping>
<mime-mapping>
<extension>pnm</extension>
<mime-type>image/x-portable-anymap</mime-type>
</mime-mapping>
<mime-mapping>
<extension>pnt</extension>
<mime-type>image/x-macpaint</mime-type>
</mime-mapping>
<mime-mapping>
<extension>ppm</extension>
<mime-type>image/x-portable-pixmap</mime-type>
</mime-mapping>
<mime-mapping>
<extension>ppt</extension>
<mime-type>application/powerpoint</mime-type>
</mime-mapping>
<mime-mapping>
<extension>ps</extension>
<mime-type>application/postscript</mime-type>
</mime-mapping>
<mime-mapping>
<extension>psd</extension>
<mime-type>image/x-photoshop</mime-type>
</mime-mapping>
<mime-mapping>
<extension>qt</extension>
<mime-type>video/quicktime</mime-type>
</mime-mapping>
<mime-mapping>
<extension>qti</extension>
<mime-type>image/x-quicktime</mime-type>
</mime-mapping>
<mime-mapping>
<extension>qtif</extension>
<mime-type>image/x-quicktime</mime-type>
</mime-mapping>
<mime-mapping>
<extension>ras</extension>
<mime-type>image/x-cmu-raster</mime-type>
</mime-mapping>
<mime-mapping>
<extension>rgb</extension>
<mime-type>image/x-rgb</mime-type>
</mime-mapping>
<mime-mapping>
<extension>rm</extension>
<mime-type>application/vnd.rn-realmedia</mime-type>
</mime-mapping>
<mime-mapping>
<extension>roff</extension>
<mime-type>application/x-troff</mime-type>
</mime-mapping>
<mime-mapping>
<extension>rtf</extension>
<mime-type>application/rtf</mime-type>
</mime-mapping>
<mime-mapping>
<extension>rtx</extension>
<mime-type>text/richtext</mime-type>
</mime-mapping>
<mime-mapping>
<extension>sh</extension>
<mime-type>application/x-sh</mime-type>
</mime-mapping>
<mime-mapping>
<extension>shar</extension>
<mime-type>application/x-shar</mime-type>
</mime-mapping>
<mime-mapping>
<extension>smf</extension>
<mime-type>audio/x-midi</mime-type>
</mime-mapping>
<mime-mapping>
<extension>sit</extension>
<mime-type>application/x-stuffit</mime-type>
</mime-mapping>
<mime-mapping>
<extension>snd</extension>
<mime-type>audio/basic</mime-type>
</mime-mapping>
<mime-mapping>
<extension>src</extension>
<mime-type>application/x-wais-source</mime-type>
</mime-mapping>
<mime-mapping>
<extension>sv4cpio</extension>
<mime-type>application/x-sv4cpio</mime-type>
</mime-mapping>
<mime-mapping>
<extension>sv4crc</extension>
<mime-type>application/x-sv4crc</mime-type>
</mime-mapping>
<mime-mapping>
<extension>swf</extension>
<mime-type>application/x-shockwave-flash</mime-type>
</mime-mapping>
<mime-mapping>
<extension>t</extension>
<mime-type>application/x-troff</mime-type>
</mime-mapping>
<mime-mapping>
<extension>tar</extension>
<mime-type>application/x-tar</mime-type>
</mime-mapping>
<mime-mapping>
<extension>tcl</extension>
<mime-type>application/x-tcl</mime-type>
</mime-mapping>
<mime-mapping>
<extension>tex</extension>
<mime-type>application/x-tex</mime-type>
</mime-mapping>
<mime-mapping>
<extension>texi</extension>
<mime-type>application/x-texinfo</mime-type>
</mime-mapping>
<mime-mapping>
<extension>texinfo</extension>
<mime-type>application/x-texinfo</mime-type>
</mime-mapping>
<mime-mapping>
<extension>tif</extension>
<mime-type>image/tiff</mime-type>
</mime-mapping>
<mime-mapping>
<extension>tiff</extension>
<mime-type>image/tiff</mime-type>
</mime-mapping>
<mime-mapping>
<extension>tr</extension>
<mime-type>application/x-troff</mime-type>
</mime-mapping>
<mime-mapping>
<extension>tsv</extension>
<mime-type>text/tab-separated-values</mime-type>
</mime-mapping>
<mime-mapping>
<extension>txt</extension>
<mime-type>text/plain</mime-type>
</mime-mapping>
<mime-mapping>
<extension>ulw</extension>
<mime-type>audio/basic</mime-type>
</mime-mapping>
<mime-mapping>
<extension>ustar</extension>
<mime-type>application/x-ustar</mime-type>
</mime-mapping>
<mime-mapping>
<extension>xbm</extension>
<mime-type>image/x-xbitmap</mime-type>
</mime-mapping>
<mime-mapping>
<extension>xht</extension>
<mime-type>application/xhtml</mime-type>
</mime-mapping>
<mime-mapping>
<extension>xhtml</extension>
<mime-type>application/xhtml</mime-type>
</mime-mapping>
<mime-mapping>
<extension>xml</extension>
<mime-type>text/xml</mime-type>
</mime-mapping>
<mime-mapping>
<extension>xpm</extension>
<mime-type>image/x-xpixmap</mime-type>
</mime-mapping>
<mime-mapping>
<extension>xsl</extension>
<mime-type>text/xml</mime-type>
</mime-mapping>
<mime-mapping>
<extension>xwd</extension>
<mime-type>image/x-xwindowdump</mime-type>
</mime-mapping>
<mime-mapping>
<extension>wav</extension>
<mime-type>audio/x-wav</mime-type>
</mime-mapping>
<mime-mapping>
<extension>svg</extension>
<mime-type>image/svg</mime-type>
</mime-mapping>
<mime-mapping>
<extension>svgz</extension>
<mime-type>image/svg</mime-type>
</mime-mapping>
<mime-mapping>
<extension>vsd</extension>
<mime-type>application/x-visio</mime-type>
</mime-mapping>
<mime-mapping>
<!-- Wireless Bitmap -->
<extension>wbmp</extension>
<mime-type>image/vnd.wap.wbmp</mime-type>
</mime-mapping>
<mime-mapping>
<!-- WML Source -->
<extension>wml</extension>
<mime-type>text/vnd.wap.wml</mime-type>
</mime-mapping>
<mime-mapping>
<!-- Compiled WML -->
<extension>wmlc</extension>
<mime-type>application/vnd.wap.wmlc</mime-type>
</mime-mapping>
<mime-mapping>
<!-- WML Script Source -->
<extension>wmls</extension>
<mime-type>text/vnd.wap.wmlscript</mime-type>
</mime-mapping>
<mime-mapping>
<!-- Compiled WML Script -->
<extension>wmlscriptc</extension>
<mime-type>application/vnd.wap.wmlscriptc</mime-type>
</mime-mapping>
<mime-mapping>
<extension>wrl</extension>
<mime-type>x-world/x-vrml</mime-type>
</mime-mapping>
<mime-mapping>
<extension>Z</extension>
<mime-type>application/x-compress</mime-type>
</mime-mapping>
<mime-mapping>
<extension>z</extension>
<mime-type>application/x-compress</mime-type>
</mime-mapping>
<mime-mapping>
<extension>zip</extension>
<mime-type>application/zip</mime-type>
</mime-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
after all this i have taken a jsp page whose code is here:
(the mysql database used is named as "testdb" and the table name is "user" which is having fields name,password and id)
<html>
<head>
<title>DB Test</title>
</head>
<body>
<%
TestSQLLoad tst = new TestSQLLoad ( );
tst.init();
%>
<h2>Results</h2>
User <%= tst.getUser() %>
Pwd <%= tst.getPassword() %>
Id <%= tst.getID() %>
</body>
</html>
and placed it in to the Tomcat 5.5\webapps\tomcat-docs\testdb directory and saved as test-db.jsp
when i run this page on the browser i get a lot may errors stating
org.apache.jasper.JasperException: Unable to compile class for JSP
An error occurred at line: 12 in the jsp file: /testdb/test-db.jsp
Generated servlet error:
TestSQLLoad cannot be resolved or is not a type
An error occurred at line: 12 in the jsp file: /testdb/test-db.jsp
Generated servlet error:
TestSQLLoad cannot be resolved or is not a type
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.j ava:84)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:328)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:389)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:288)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:267)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:255)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:556)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:296)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.4 logs.
AND NOW WHEN just to get rid of such errords i try to include a statement
<%@ page import="pkg.TestSQLLoad" %> in the jsp page code (and also place the MySQLLoad.class file in a folder called pkg and place it in the same directory where the jsp page is )and make it look like
<html>
<head>
<%@ page import="pkg.TestSQLLoad" %>
<title>DB Test</title>
</head>
<body>
<%
TestSQLLoad tst = new TestSQLLoad ( );
tst.init();
%>
<h2>Results</h2>
User <%= tst.getUser() %>
Pwd <%= tst.getPassword() %>
Id <%= tst.getID() %>
</body>
</html>
now when i run it i get the following errors:
exception
org.apache.jasper.JasperException: Unable to compile class for JSP
Generated servlet error:
Only a type can be imported. pkg.TestSQLLoad resolves to a package
An error occurred at line: 12 in the jsp file: /testdb/test-db.jsp
Generated servlet error:
TestSQLLoad cannot be resolved or is not a type
An error occurred at line: 12 in the jsp file: /testdb/test-db.jsp
Generated servlet error:
TestSQLLoad cannot be resolved or is not a type
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.j ava:84)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:328)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:389)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:288)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:267)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:255)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:556)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:296)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
in response to the above error i have even tried placing the MySQLLoad.class directly in the testdb folder along with the jsp page without keeping it in a package named pkg and then importing directly as <@page import="MySQLLoad" %>
that too gave me the following errors
org.apache.jasper.JasperException: Unable to compile class for JSP
Generated servlet error:
The import TestSQLLoad cannot be resolved
An error occurred at line: 12 in the jsp file: /testdb/test-db.jsp
Generated servlet error:
TestSQLLoad cannot be resolved or is not a type
An error occurred at line: 12 in the jsp file: /testdb/test-db.jsp
Generated servlet error:
TestSQLLoad cannot be resolved or is not a type
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.j ava:84)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:328)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:389)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:288)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:267)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:255)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:556)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:296)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
and if i do not use the statement <%@ page import="MySQLLoad"%> then also i get the errors like
org.apache.jasper.JasperException: Unable to compile class for JSP
An error occurred at line: 11 in the jsp file: /testdb/test-db.jsp
Generated servlet error:
TestSQLLoad cannot be resolved or is not a type
An error occurred at line: 11 in the jsp file: /testdb/test-db.jsp
Generated servlet error:
TestSQLLoad cannot be resolved or is not a type
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.j ava:84)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:328)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:389)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:288)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:267)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:255)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:556)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:296)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
THE 2nd Method:
in my second method i did the same changes in the web.xml and server.xml
then i took a jsp page with the following code:
<%@ page import="javax.sql.*,java.sql.*,javax.naming.*,com.mysql.jdbc.*" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> trial doc </TITLE>
</HEAD>
<BODY>
<h1>Trial Document</h1>
<% InitialContext context=new InitialContext( );
DataSource dataSource=(DataSource) context.lookup("java:comp/env/jdbc/testdb");
Connection conn=dataSource.getConnection();
Statement stmt=conn.createStatement();
ResultSet rset=stmt.executeQuery("select * from user");
if (rset.next()){
%>
<table width="100%" border="1">
<tr align="left">
<th>name</th> <th>password</th><th>id</th>
</tr>
<%
do {
%>
<tr><td> <%=rset.getString(1)%> </td>
<td><%=rset.getString(2) %></td>
<td><%=rset.getString(3) %></td></tr>
<%
} while (rset.next());
%>
</table>
<%
} else{
%>
No results from query
<%
rset.close();
stmt.close();
conn.close();
context.close();
%>
</BODY>
</HTML>
org.apache.jasper.JasperException: Unable to compile class for JSP
An error occurred at line: 15 in the jsp file: /testdb/Big1.jsp
Generated servlet error:
The type Connection is ambiguous
An error occurred at line: 15 in the jsp file: /testdb/Big1.jsp
Generated servlet error:
The type Statement is ambiguous
An error occurred at line: 15 in the jsp file: /testdb/Big1.jsp
Generated servlet error:
The type ResultSet is ambiguous
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.j ava:84)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:328)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:389)
org.apache.jasper.compiler.Compiler.compile(Cthanx for ur response
as u said that the problem is more of a jsp page not getting compiled....
me also pointed towards the similar situation providing all the surrounding situations
which i have met and gone through
i m still thinking that problem may b in the tomcat's server.xml and web.xml as well
so better if u plz guide me in that regard
regards,
kuldeep -
"jdbc:mysql:///test" - "jdbc:mysql:test" what is the difference
"jdbc:mysql:///test" -> "jdbc:mysql:test" what is the difference:
I used both of them in my url but only "jdbc:mysql:///test" worked only
what is the difference what /// means?JDBC URLs have the format
jdbc:<subprotocol>://<data source identifier>
jdbc indicates a JDBC data source. subprotocol identifies which JDBC Driver to use.
For com.mysql.jdbc.Driver and localhost server, database name as 'test':
it's jdbc:mysql://localhost/test
or jdbc:mysql://127.0.0.1:3306/test
you would select another server and database name.
For sun.jdbc.odbc.JdbcOdbcDriver with MS Access or SQLServer database, it's jdbc:odbc:DSNname
HTH -
JDBC Mysql Resultset too large!
Hello everybody,
I'm currently building a large database retrieval system(JAVA and mysql). Everything works fine, but I have a big problem. The returning resultset is way higher then it should be!!
The table has the following structure:
Probe_set_id unsigned mediumint(6)
Expressionvalue float(5,1)
Dataset unsigned tinyint(2)
I'm trying to retrieve a dataset with 6.5 million rows with the following query.
Select Probe_Set_ID, Expressionvalue from Test5 where dataset=1
This results in JAVA taking around 500 megabyte retrieving the Resultset!!! If my calculations are right it should take around the following:
Float 4 bytes * 6500000 = 26000000 bytes
unsigned mediumint = long 8 bytes * 6500000 = 52000000 bytes
That would be 78000000 bytes, which is around 75 megabyte and not 500 megabyte!!!!!
Code sample:
String dataBaseName = "testDB";
String dataBaseUser = "java";
String dataBasePass = "clustering";
String url = "jdbc:mysql://localhost/" + dataBaseName;
Class.forName ("org.gjt.mm.mysql.Driver").newInstance ();
Connection conn = DriverManager.getConnection (url, dataBaseUser, dataBasePass);
conn.setReadOnly(true);
Statement s = conn.createStatement();
s.execute("Select Probe_Set_ID, Expressionvalue from Test5 where dataset=1");
ResultSet rs = s.getResultSet();
This results in a giant resultset and I can't see the answer. I hope someone can help me. I'm using the newest JDBC driver of mysql!Yes the JAVA application really takes up this amount! It is really akward. The DB doesn't take a real big amount of memory because of the buffer sizes I've set. I execute the java application as follow:
./java -server -XX:MaxHeapFreeRatio=5 -XX:MinHeapFreeRatio=20 -Xmx1512M dbTest
I'm really trying to keep the heap small because the JAVA application ( a gene expression processing application/server) takes big amounts of memmory when downloading data from the mysql database and the server is accesible by multiple users parallel. Though I'm still testing alone, so the memmory abuse is not a cause by other users. -
JDBC/MYSQL Connection problems
I'm new to using JDBC so I'm not sure if I'm simply doing something wrong in my code or if I've installed something incorrectly. I've got the JDBC connector/J installed properly as far as I can tell. At least when I run my code I'm not getting an error about the driver not being found. The problem I'm running into is that even though I've double and triple checked the authentication info I keep getting the following error:
Exception in thread "main" java.sql.SQLException: Invalid authorization specification message from server: "Access denied for user: '[email protected]' (Using password: YES)"
The actual connection commands I'm using are as follows:
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection con = DriverManager.getConnection("jdbc:mysql://localhost/Test", "testusr", "testpwd");
I've checked and rechecked the spelling of my mySQL user & password and as far as I can tell, they work just fine so I can't figure out why I would be getting this error. Any suggestions on things I can try or does anyone see any obvious errors in what I'm doing?The failure is caused not by the JDBC driver but by how the MySQL was configured
when it was installed. By default, MySQL is configured to allow connections that
are created only from within the localhost.
The line
DriverManager.getConnection("jdbc:mysql://localhost:3306/Test?user=testusr& password=testpwd") translates to "create a connection to MySQL running at 'localhost' and use the
'testusr@<hostname.domain>' as user name and 'testpwd' as the password".
If you can see, the <hostname.domain> is replaced with "other value" aside from
the "localhost" which you expect, hence connection is denied.
The '<hostname.domain>' is replaced with the value of either your IP address or
hostname. Therefore, any connections created from outside the host where your
server is running will be denied. Now, making the 'host' value set from
'localhost' to '%' would tell MySQL that you are allowing connections created from
outside the MySQL host to connect to the server.
Another way to go around this is problem is to modify your
"\Windows\system32\drivers\etc\hosts" OR "/etc/hosts" file and give
your loopback address (127.0.0.1) another alias (aside from localhost), e.g.:
127.0.0.1 localhost <hostnameY.domain>
192.168.1.1 <hostnameX.domain> <hostnameY.domain>where you replace <hostnameY.domain> with the name/alias of your computer in
the network. The domain is optional and depends upon the domain name that
your network is using. -
Hi,
Everything is set up and running on Redhat7.1. Version 1.3.1 of jdk is
installed and tomcat version 3.2.1.
I also installed the mod_jserv module and started serving jsp pages
which worked perfectly.
I then downloaded the mysql jdbc drivers from the mysql site and
installed them and set the classpath to
correct path in /etc/profile. I get the following error when connecting
to the mysql database:
Root cause:
java.sql.SQLException: Server configuration denies access to data source
at org.gjt.mm.mysql.MysqlIO.init(MysqlIO.java:144)
at org.gjt.mm.mysql.Connection.(Connection.java:230)
at org.gjt.mm.mysql.Driver.connect(Driver.java:126)
at java.sql.DriverManager.getConnection(DriverManager.java:517)
at java.sql.DriverManager.getConnection(DriverManager.java:199)
at
jsp.num._0002fjsp_0002fnum_0002fnumguess_0002ejspnumguess_jsp_59._jspService(_0002fjsp_0002fnum_0002fnumguess_0002ejspnumguess_jsp_59.java:86)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java)
at javax.servlet.http.HttpServlet.service(HttpServlet.java)
at
org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java)
at javax.servlet.http.HttpServlet.service(HttpServlet.java)
at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java)
at org.apache.tomcat.core.Handler.service(Handler.java)
at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java)
at
org.apache.tomcat.core.ContextManager.internalService(ContextManager.java)
at org.apache.tomcat.core.ContextManager.service(ContextManager.java)
at
org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java)
at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java)
at
org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java)
at java.lang.Thread.run(Thread.java:484)
Heres the code that i used.
<html><body>
<%@ page import="java.io.*"%>
<%@ page import="java.util.*"%>
<%@ page import="java.sql.*"%>
<%@ page import="javax.servlet.*"%>
<%@ page import="javax.servlet.http.*"%>
<%
//try {
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
Connection Conn =
DriverManager.getConnection("jdbc:mysql://localhost:3306/mysql?user=root&password=");
Statement Stmt = Conn.createStatement();
String SQL="SELECT * from user";
ResultSet RS = Stmt.executeQuery(SQL);
while (RS.next()) {
System.out.println(RS.getString(1));
// Clean up after ourselves
RS.close();
Stmt.close();
Conn.close();
//catch (SQLException E) {
// System.out.println("SQLException: " + E.getMessage());
// System.out.println("SQLState: " + E.getSQLState());
// System.out.println("VendorError: " + E.getErrorCode());
%></body></html>
Now if I uncomment the commented code I get no error but I also get no
results which is wrong.
I'm thinking there is a priviledge problem. The mysql database is set up
to alloow any user to connect.
Any help would be greatly appreciated.
WinstonI had this problem a few days ago myself and finally went to the developer of the mySQL driver. According to the developer, RedHat, for some unknown reason, maps
127.0.0.1 to "localhost.localdomain". To fix the problem, I had to change the host in my db table from "localhost" to "localhost.localdomain". In my URL, I still used 'localhost'. I also did this in my user table.
Example:
Update user set host = "localhost.localdomain"
where host = "localhost";
Update db set host = "localhost.localdomain"
where host = "localhost";
This works for me through JDBC on Redhat.
Maybe you can help me. Where did you put your driver class files? I tried putting them in WEB-INF/lib and that didn't seem to work. I tried putting them in WEB-INF/classes and that didn't seem to work either. I keep getting, "no suitable driver" which means it has something to do with the CLASSPATH. Unfortunately, since I am using a hosting company that is unfamiliar with servlets, I am limited on what I can get them to do. -
JDBC MySQL Connector/J problems when using in applets
I wrote a piece of code which uses the MySQL Connector/J which worked in a normal shell application but when used in an applet it just didnt print anything. The code is:
import java.net.*;
import java.sql.*;
class DB {
static Connection c;
static Statement stmt;
static ResultSet to;
public static String[] getUsers() {
String str[] = new String[100];
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
catch (Exception E) {}
try {
c = DriverManager.getConnection("jdbc:mysql://localhost/PROGRAM?user=blah&password=blah");
stmt = c.createStatement();
to = stmt.executeQuery("SELECT usr_user FROM usr");
for(int i=0; to.next(); i++) str[i] = to.getString(1);
catch (SQLException E) {}
return str;
Is there a problem accessing a MySQL Database via an appletApplet runs out of a sandbox, if you print the exception, you'll see that you have run into security access violation:
catch (SQLException E) {
E.printStackTrace();
}This will tell you why your applet didn't print anything. Just a firendly advice, never try to catch something and don't display what was caught.
;o)
V.V.
PS: To solve, your problem, you can either sign the applet or use a policy file to grant the applet the required access right. -
JDBC, MySQL and the rudeness of SQLExceptions
Hi there
I'm having an annoying problem (no, really?).
I've got a MySQL database running on a nice little Red Hat Linux server. It works just fine, and I can access it remotely from my windows desktop. So I'm trying to write a little client app.
I'm using Windows XP with Java2 v1.4.01. For my JDBC drivers I'm using Connector/J (formerly mm.mysql). The connector/J jar is in jre\lib\ext. I have also unpacked it to C:\Java\Connector and linked directly to the jar in my CLASSPATH environment variable.
So everything sounds right so far, yeah?
Trouble is, every time I try to connect I get a rude "No Suitable Driver" error. I've searched extensively for material about this problem, but no solution I've tried seems to work. Any comments, suggestions etc will be appreciated.
The test code is quoted below:
import java.sql.*;
public class MySQLClient{
private boolean connected;
private Connection conn;
public MySQLClient(){
connected = false;
public boolean Connect(String userName, String userPwd){
try {
Hmmmm code was cut off. Here it is again.
import java.sql.*;
public class MySQLClient{
private boolean connected;
private Connection conn;
public MySQLClient(){
connected = false;
public boolean Connect(String userName, String userPwd){
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
conn = DriverManager.getConnection(
"jdbc:mysql:190.100.7.1:3306", userName, userPwd);
connected = true;
System.out.println("Connect OK!");
} catch (java.lang.ClassNotFoundException e){
System.err.println("Can't find the freakin' driver");
System.err.println(e.getMessage());
} catch (java.lang.InstantiationException e){
System.err.println("WTF???");
System.err.println(e.getMessage());
} catch (java.lang.IllegalAccessException e){
System.err.println("Illegal access");
System.err.println(e.getMessage());
% -
Hi guys I have created a database called books in MySQL and I have the following code to test the link of connection. I am using Netbeans.
import java.sql.*;
public class jdbcexample1 {
/** Creates a new instance of jdbcexample1 */
public jdbcexample1() {
* @param args the command line arguments
public static void main(String[] args) {
// TODO code application logic here
Connection con = null;
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
con = DriverManager.getConnection("jdbc:mysql:///books", "jhtp6", "jhtp6");
if(!con.isClosed())
System.out.println("Successfully connected to MySQL server...");
} catch(Exception e) {
System.err.println("Exception: " + e.getMessage());
} finally {
try {
if(con != null)
con.close();
} catch(SQLException e) {}
However my program when run gives me the exception message which is
"Exception: com.mysql.jdbc.Driver"
Before you tell me, I have put the "mysql-connector-java-3.0.14-production-bin" in the ext folder of jre and I have also appended the CLASSPATH as follows.
".;C:\PATH\mysql-connector-java-3.0.14-production-bin.jar;" which leads to the jre ext folder.
What am I doing wrong, Have I missed something above and if not what could be wrong with my setup.
Thanks!! :)Helo,
I have just started with java, I am also using netbeans, I used similar code to test the link, the code gives the following error when compiled:
java.lang.NoClassDefFoundError: JdbcExample1
Exception in thread "main"
Java Result: 1
The code I used is a s follows:
package com.stardeveloper.example;
import java.sql.*;
public class JdbcExample1 {
public static void main(String args[]) {
Connection con = null;
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
con = DriverManager.getConnection("jdbc:mysql:///pet", "root", "siemens");
if(!con.isClosed())
System.out.println("Successfully connected to MySQL server...");
} catch(Exception e) {
System.err.println("Exception: " + e.getMessage());
} finally {
try {
if(con != null)
con.close();
} catch(SQLException e) {}
Pls help..
Thanks..
Hi guys I have created a database called books in
MySQL and I have the following code to test the link
of connection. I am using Netbeans.
import java.sql.*;
public class jdbcexample1 {
/** Creates a new instance of jdbcexample1 */
public jdbcexample1() {
* @param args the command line arguments
public static void main(String[] args) {
// TODO code application logic here
Connection con = null;
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
con =
DriverManager.getConnection("jdbc:mysql:///books",
"jhtp6", "jhtp6");
if(!con.isClosed())
System.out.println("Successfully connected to MySQL
server...");
} catch(Exception e) {
System.err.println("Exception: " + e.getMessage());
} finally {
try {
if(con != null)
con.close();
} catch(SQLException e) {}
However my program when run gives me the exception
message which is
"Exception: com.mysql.jdbc.Driver"
Before you tell me, I have put the
"mysql-connector-java-3.0.14-production-bin" in the
ext folder of jre and I have also appended the
CLASSPATH as follows.
".;C:\PATH\mysql-connector-java-3.0.14-production-bin.
jar;" which leads to the jre ext folder.
What am I doing wrong, Have I missed something above
and if not what could be wrong with my setup.
Thanks!! :) -
Hello, I'm getting this error when trying to make a connection with MySQL:
Internal Servlet Error:
org.apache.jasper.JasperException: Unable to compile class for JSPNote: sun.tools.javac.Main has been deprecated.
C:\tomcat\work\localhost_8080\_0002fdb_0002ejspdb_jsp_10.java:62: Undefined variable or class name: DriverManager
conn = DriverManager.getConnection("jdbc:mysql:numbers", "username", "password");
^
1 error, 1 warning
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:282)
at org.apache.jasper.servlet.JspServlet.doLoadJSP(JspServlet.java:612)
at org.apache.jasper.servlet.JasperLoader12.loadJSP(JasperLoader12.java:146)
at org.apache.jasper.servlet.JspServlet.loadJSP(JspServlet.java:542)
at org.apache.jasper.servlet.JspServlet$JspServletWrapper.loadIfNecessary(JspServlet.java:258)
at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:268)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:429)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:500)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:405)
at org.apache.tomcat.core.Handler.service(Handler.java:287)
at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:806)
at org.apache.tomcat.core.ContextManager.service(ContextManager.java:752)
at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:213)
at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:501)
at java.lang.Thread.run(Thread.java:536)
Here's the code I'm using:
<%
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
java.sql.Connection conn;
conn = DriverManager.getConnection("jdbc:mysql:numbers", "username", "password");
%>
If anyone knows how to fix this, I'd appreciate any help!Hi,
Three things:
1. I presume numbers refers to the prot you are accesaing mysql - i tend to use default 3306.
2. If there are problems recognising DriverManagaer are you importing java.sql.*; I'm sure you are.
3. I think the sun.tools.javac.Main error relates to the tools version that you are using, although I would not guarantee this. The tools.jar in later versions of tomcat is twice the size of earlier versions and you have to ensure this is the version that your application is checking for. A quick test for this is to put the newer version(size 74k) into WEB-INF \lib directory where an application looks first for complied java files.
best,
kev
ps If I'm wrong completely, let me know as I am watching this topic -
Hi
I am new to JNDI and i want to set up database connection using JNDI.
I read the documentation at tomcat site and accordingly.
Presently i m using-
Tomcat 5.5
MySQL 5.0.6
this is my context.xml file under
* $CATALINA_HOME/webapps/mywebsite/META-INF/web*
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/myweb" docBase="myweb"
debug="5" reloadable="true" crossContext="true">
<Resource name="jdbc/myjndi" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
username="abc" password="abc" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/mydb"/>
</Context>and this is my partial web.xml file under
*$CATALINA_HOME/webapps/mywebsite/WEB-INF*
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<description>MySQL Test App</description>
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/myjndi</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-refI downloaded the mysql J/Connecter from mysql website and put it in the
*$CATALINA_HOME/webapps/mywebsite/WEB-INF/lib*
My sample jsp code to test the connectvity is
<%!
Connection conn=null;
DataSource ds=null;
Context ctx=null;
Context envctx=null;
%>
<%
ctx=new InitialContext();
try{
envctx=(Context)ctx.lookup("java:comp/env");
ds=(DataSource)envctx.lookup("jdbc/myjndi");
if(ds==null){
out.println("not found");
else{
out.println("found");
conn=ds.getConnection();
//Class.forName("com.mysql.jdbc.Driver");
//conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/my","root","password");
if(conn==null){
out.println("driver not found");
else
out.println("driver class found");
} catch(Exception e){
out.println("Exception : "+e);
Exception is coming when i run this page
found Exception : org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot load JDBC driver class 'com.mysql.jdbc.Driver'
Can you please tell me why this exception is coming.... i searched everywhere and tried all the things but could not get out of that
Thanks in advanceThanks for the reply.......
I put the mysql driver jar file to directory class path
CLASSPATH=C:\Program Files\Apache Software Foundation\Tomcat 5.5\common\lib\mysql_driver.jar
in my environment variables and also restarted the server but still same
exception is coming. If i run simply using
Class.forName("com.mysql.jdbc.Driver")
then the exception is not coming...
Thanks -
Jdbc:mysql generating exception when ip address is included as part of url
hie
I recently wrote a java application that uses jdbc:mysql connector to connect to the mysql database. The problem I'm facing is ,- when ever I include IP addresses in the url on the getConnection method I get the following exception:
com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception:
** BEGIN NESTED EXCEPTION **
java.net.SocketException
MESSAGE: java.net.ConnectException: Connection refused: connect
STACKTRACE:
java.net.SocketException: java.net.ConnectException: Connection refused: connect
The funny part is that if I use localhost on the url it works but generates the exception when I put the IP address of the local machine.
Anybody who knows where the problem is , please help
thanx in advancelocalhost usually resolves to 127.0.0.1, not the routable IP address of the host.
mysql (or any TCP/IP based program) can tell which IP address you connected via.
Your mysql installation apparently isn't configured to allow external connections. The problem could be persmissions or the installation itself, or a firewall on the host.
See the fine manual:
http://dev.mysql.com/doc/refman/5.1/en/can-not-connect-to-server.html
http://dev.mysql.com/doc/refman/5.1/en/connection-access.html
http://dev.mysql.com/doc/refman/5.1/en/security-guidelines.html -
Strange behaviour of jdbc-mysql driver
I am trying to store japanese characters in mysql and display also after reading from the database using JSP. I am using the following code.
<%@ page contentType="text/html; charset=UTF-8"%>
....... some code ......
<%
Class.forName( "org.gjt.mm.mysql.Driver" );
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/DB?useUnicode=true&characterEncoding=UTF-8", "user", "pass" );
Statement st = con.createStatement();
st.executeUpdate( "insert into test values('" + request.getParameter( "imgname" ) + "')" );
ResultSet rs = st.executeQuery( "select * from test" );
while( rs.next() ) {
%> DB Value: <%= rs.getString( "imgname" ) %>
<% } %>
I found one strange behaviour. I have to change the DriverManger.getConnection line to the following, to write the data correctly in the database.
DriverManager.getConnection("jdbc:mysql://localhost:3306/DB","user","pass")
If I read from the database using the same parameters as above, I am getting garbled data.
To retrieve the data correctly from the database I have to use the following line instead of the previous one.
DriverManager.getConnection("jdbc:mysql://localhost:3306/DB?useUnicode=true&characterEncoding=UTF-8", "user", "pass" );
In short, I have to pass different parameters to DriverManager.getConnection() for writing and reading from the database. But it is not possible practically. I am using mm.mysql-2.0.8 jdbc-mysql driver, mysql is 3.23.47 and english windows 2000.
I have tried the string.getBytes("UTF-8") and new String( getBytes(string), "UTF-8") methods, but not getting the correct data.
Can anybody guide me how can I store and display the japanese character correctly?
Thanks to all,
gaurang.I downloaded the latese driver from sourceforge, but still the same thing is happening. Is there any other thing which I should do?
Thanks
gaurang.
Maybe you are looking for
-
Adobe Bridge CC to Adobe Dreamweaver CC compatibility issues
I've just got off the phone to Adobe help desk following an investigation which took a number of days to resolve. The problem was this - I'm studying for a Dreamweaver ACE exam on Monday (wish me luck!) and I'm using Adobe Dreamweaver CC "Classroom i
-
Is this an Apple vs Amazon thing?
-
Hi can some body please explain me how to open .vsd files in mac ?
Hi can some body please explain me how to open .vsd files in mac ?
-
is there a special driver to get so i can print with my epson?? the reason being is i dont have a wireless network i my home, my mom and dads eMachines, has been finall declared as dead, and there using that downstairs, i have my iBook in my room ups
-
After updating mountain lion today, my keyboard is locked but the pad works. I can't login of course. I would really appreciate anyone's help!