title: Jasper Reports iReport connection to MS Access DB
body: <p>Has anyone successfully connected to their MS Access db using Jasper Reports iReport?  </p>
  
  <p>I am running windows XP and have downloaded the North Wind .mdb example file.</p>
  
  <p>Can someone provide the steps/config file pastes or links to tutorials on how to connect to that file and start building queries and reports?</p>
  
  <p><strong>Info I am using in JDBC Database Connection wizard:</strong></p>
  
  <pre><code>&lt;?xml version="1.0"?&gt;&lt;!-- iReport connections --&gt;
  &lt;iReportConnectionSet&gt;
      &lt;iReportConnection name="Empty datasource" connectionClass="com.jaspersoft.ireport.designer.connection.JREmptyDatasourceConnection"&gt;
          &lt;connectionParameter name="records"&gt;&lt;![CDATA[1]]&gt;&lt;/connectionParameter&gt;
      &lt;/iReportConnection&gt;
      &lt;iReportConnection name="accessdb" connectionClass="com.jaspersoft.ireport.designer.connection.JDBCConnection"&gt;
          &lt;connectionParameter name="Password"&gt;&lt;![CDATA[]]&gt;&lt;/connectionParameter&gt;
          &lt;connectionParameter name="JDBCDriver"&gt;&lt;![CDATA[com.ms.jdbc.odbc.JdbcOdbcDriver]]&gt;&lt;/connectionParameter&gt;
          &lt;connectionParameter name="ServerAddress"&gt;&lt;![CDATA[C:\nwind\nwind.mdb]]&gt;&lt;/connectionParameter&gt;
          &lt;connectionParameter name="SavePassword"&gt;&lt;![CDATA[false]]&gt;&lt;/connectionParameter&gt;
          &lt;connectionParameter name="Database"&gt;&lt;![CDATA[nwind]]&gt;&lt;/connectionParameter&gt;
          &lt;connectionParameter name="Url"&gt;&lt;![CDATA[jdbc:odbc:nwind]]&gt;&lt;/connectionParameter&gt;
          &lt;connectionParameter name="Username"&gt;&lt;![CDATA[]]&gt;&lt;/connectionParameter&gt;
      &lt;/iReportConnection&gt;
  &lt;/iReportConnectionSet&gt;
  </code></pre>
  
  <p><strong>Here is the error I keep getting:</strong></p>
  
  <pre><code>    Exception
  
  
  Message:
      java.lang.ClassNotFoundException: com.ms.jdbc.odbc.JdbcOdbcDriver
  Level:
      SEVERE
  Stack Trace:
  com.ms.jdbc.odbc.JdbcOdbcDriver
      com.jaspersoft.ireport.designer.connection.JDBCConnection.loadDriver(JDBCConnection.java:63)
      com.jaspersoft.ireport.designer.connection.JDBCConnection.getConnection(JDBCConnection.java:126)
      com.jaspersoft.ireport.designer.connection.JDBCConnection.test(JDBCConnection.java:447)
      com.jaspersoft.ireport.designer.connection.gui.ConnectionDialog.jButtonTestActionPerformed(ConnectionDialog.java:335)
      com.jaspersoft.ireport.designer.connection.gui.ConnectionDialog.access$300(ConnectionDialog.java:43)
      com.jaspersoft.ireport.designer.connection.gui.ConnectionDialog$4.actionPerformed(ConnectionDialog.java:290)
      javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
      javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
      javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
      javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
      javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
      java.awt.Component.processMouseEvent(Component.java:5488)
      javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
      java.awt.Component.processEvent(Component.java:5253)
      java.awt.Container.processEvent(Container.java:1966)
      java.awt.Component.dispatchEventImpl(Component.java:3955)
      java.awt.Container.dispatchEventImpl(Container.java:2024)
      java.awt.Component.dispatchEvent(Component.java:3803)
      java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
      java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
      java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
      java.awt.Container.dispatchEventImpl(Container.java:2010)
      java.awt.Window.dispatchEventImpl(Window.java:1778)
      java.awt.Component.dispatchEvent(Component.java:3803)
      java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
      org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:104)
      java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
      java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
      java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:153)
      java.awt.Dialog$1.run(Dialog.java:517)
      java.awt.Dialog$2.run(Dialog.java:545)
      java.security.AccessController.doPrivileged(Native Method)
      java.awt.Dialog.show(Dialog.java:543)
      java.awt.Component.show(Component.java:1300)
      java.awt.Component.setVisible(Component.java:1253)
      com.jaspersoft.ireport.designer.wizards.ConnectionSelectionVisualPanel.jButton1ActionPerformed(ConnectionSelectionVisualPanel.java:310)
      com.jaspersoft.ireport.designer.wizards.ConnectionSelectionVisualPanel.access$400(ConnectionSelectionVisualPanel.java:41)
      com.jaspersoft.ireport.designer.wizards.ConnectionSelectionVisualPanel$6.actionPerformed(ConnectionSelectionVisualPanel.java:218)
      javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
      javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
      javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
      javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
      javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
      java.awt.Component.processMouseEvent(Component.java:5488)
      javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
      java.awt.Component.processEvent(Component.java:5253)
      java.awt.Container.processEvent(Container.java:1966)
      java.awt.Component.dispatchEventImpl(Component.java:3955)
      java.awt.Container.dispatchEventImpl(Container.java:2024)
      java.awt.Component.dispatchEvent(Component.java:3803)
      java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
      java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
      java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
      java.awt.Container.dispatchEventImpl(Container.java:2010)
      java.awt.Window.dispatchEventImpl(Window.java:1778)
      java.awt.Component.dispatchEvent(Component.java:3803)
      java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
      org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:104)
      java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
      java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
      java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:153)
      java.awt.Dialog$1.run(Dialog.java:517)
      java.awt.Dialog$2.run(Dialog.java:545)
      java.security.AccessController.doPrivileged(Native Method)
      java.awt.Dialog.show(Dialog.java:543)
      org.netbeans.core.windows.services.NbPresenter.superShow(NbPresenter.java:867)
      org.netbeans.core.windows.services.NbPresenter.doShow(NbPresenter.java:901)
      org.netbeans.core.windows.services.NbPresenter.run(NbPresenter.java:889)
      org.netbeans.core.windows.services.NbPresenter.run(NbPresenter.java:109)
      org.openide.util.Mutex.doEventAccess(Mutex.java:1355)
      org.openide.util.Mutex.readAccess(Mutex.java:268)
      org.netbeans.core.windows.services.NbPresenter.show(NbPresenter.java:874)
      java.awt.Component.show(Component.java:1300)
      java.awt.Component.setVisible(Component.java:1253)
      com.jaspersoft.ireport.designer.templates.TemplatesFrame.runTemplateWizard(TemplatesFrame.java:470)
      com.jaspersoft.ireport.designer.templates.ReportTemplateItemAction.performAction(ReportTemplateItemAction.java:50)
      com.jaspersoft.ireport.designer.templates.TemplatesFrame.jButtonLaunchWizardActionPerformed(TemplatesFrame.java:328)
      com.jaspersoft.ireport.designer.templates.TemplatesFrame.access$700(TemplatesFrame.java:55)
      com.jaspersoft.ireport.designer.templates.TemplatesFrame$10.actionPerformed(TemplatesFrame.java:244)
      javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
      javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
      javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
      javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
      javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
      java.awt.Component.processMouseEvent(Component.java:5488)
      javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
      java.awt.Component.processEvent(Component.java:5253)
      java.awt.Container.processEvent(Container.java:1966)
      java.awt.Component.dispatchEventImpl(Component.java:3955)
      java.awt.Container.dispatchEventImpl(Container.java:2024)
      java.awt.Component.dispatchEvent(Component.java:3803)
      java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
      java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
      java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
      java.awt.Container.dispatchEventImpl(Container.java:2010)
      java.awt.Window.dispatchEventImpl(Window.java:1778)
      java.awt.Component.dispatchEvent(Component.java:3803)
      java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
      org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:104)
      java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
      java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
      java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:153)
      java.awt.Dialog$1.run(Dialog.java:517)
      java.awt.Dialog$2.run(Dialog.java:545)
      java.security.AccessController.doPrivileged(Native Method)
      java.awt.Dialog.show(Dialog.java:543)
      java.awt.Component.show(Component.java:1300)
      java.awt.Component.setVisible(Component.java:1253)
      com.jaspersoft.ireport.designer.templates.TemplatesFrame.setVisible(TemplatesFrame.java:582)
      com.jaspersoft.ireport.designer.welcome.QuickStartPanel.jButton2ActionPerformed(QuickStartPanel.java:331)
      com.jaspersoft.ireport.designer.welcome.QuickStartPanel.access$500(QuickStartPanel.java:50)
      com.jaspersoft.ireport.designer.welcome.QuickStartPanel$4.actionPerformed(QuickStartPanel.java:167)
      javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
      javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
      javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
      javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
      javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
      java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:231)
      java.awt.Component.processMouseEvent(Component.java:5488)
      javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
      java.awt.Component.processEvent(Component.java:5253)
      java.awt.Container.processEvent(Container.java:1966)
      java.awt.Component.dispatchEventImpl(Component.java:3955)
      java.awt.Container.dispatchEventImpl(Container.java:2024)
      java.awt.Component.dispatchEvent(Component.java:3803)
      java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
      java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
      java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
      java.awt.Container.dispatchEventImpl(Container.java:2010)
      java.awt.Window.dispatchEventImpl(Window.java:1778)
      java.awt.Component.dispatchEvent(Component.java:3803)
      java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
      org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:104)
      java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
      java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
      java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
      java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
      java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
  </code></pre>