2012-06-25 1 views
0

Je tente de connecter une instance Tomcat 5.5 sur mon poste de travail (exécutée avec Eclipse) à une instance SQL Express sur mon poste de travail, et j'ai des problèmes de connexion.Erreur JDBC lors de la connexion de Tomcat 5.5 à SQL 2008: Que manque-t-il?

Je reçois cette exception:

Cannot create JDBC driver of class '' for connect URL 'null' 

Voici mon META-INF/context.xml:

<Context> 
    <Resource name="jdbc/SQLDB" auth="Container" 
    type="javax.sql.DataSource" username="AppUser" password="password" 
    driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver" 
    url="jdbc:sqlserver://localhost;DatabaseName=AppUser;SelectMethod=cursor;" 
    maxActive="8"/> 
</Context> 

Et mon WEB-INF/web.xml:

<resource-ref> 
    <description>SQL Database Connection</description> 
    <res-ref-name>jdbc/SQLDB</res-ref-name> 
    <res-type>javax.sql.DataSource</res-type> 
    <res-auth>Container</res-auth> 
</resource-ref> 

Et ma source:

InitialContext ic = new InitialContext(); 
DataSource ds = (DataSource) ic.lookup("java:comp/env/jdbc/SQLDB"); 
Connection conn = ds.getConnection(); 

J'ai également placé le fichier sqljdbc4.jar dans le dossier commun/lib de Tomcat.

Certaines références de documentation de Tomcat ajoutent des éléments au fichier server.xml et d'autres pas; Je ne pense pas que ce soit nécessaire, étant donné qu'une seule webapp utilisera la base de données. Qu'est-ce que j'oublie ici?

Répondre

0

Ceci est l'erreur commune que les gens mettent le pot dans la lib de tomcat. Rappelez-vous toujours mettre tous les pots externes dans vos applications lib savoir YourAppDir> WebContent> WEB-INF> lib

La deuxième chose à faire est de reconnaître le pot dans Eclipse. faire cela comme suit:

  1. Faites un clic droit sur votre projet dans Eclipse
  2. cliquez sur Propriétés.
  3. sur les propriétés fenêtre, cliquez sur JavaBuildPath
  4. sélectionnez l'onglet Bibliothèques
  5. cliquez sur le bouton AddJARs & ajouter les pots externes de la lib de votre projet
Questions connexes