I have successfully run Kettle (version 3.2.0-GA, 2009-05-08) and started a repository on my DB server. I've got Kettle downloaded on two side by side platforms: a desktop PC (winXP) and a laptop (Mac).

I can connect to the Pervasive 9.6 DB flawlessly on the Windows PC, but I cannot get the connection to work at all from the Mac. I used this thread to set up the Pervasive/SQL DB on both systems; the instructions worked perfectly on the PC. Enormous thanks to Matt Casters for clear and concise explanations.

The crux of the issue seems to be the pvjdbc2.dll file: on the PC, it goes into the libswt\win32 diretory, and everything works. On the Mac, the libswt obviously doesn't contain the win32 directory. I have placed the pvjdbc2.dll file into the libswt/osx/ directory since that makes sense as an analog, but is that actually the right thing to do?
Having the 4 jar files as specified in the above thread in the libext/JDBC/ directory doesn't work, at least not on its own. I get a ClassNotFound exception when I try the connection. I've made very sure I have the classes in the directory, and I've experimented with having the classes both in the JDBC subdirectory and just in libext/. Neither works on the Mac.

I did set up the PC with the same jar files, and I have opened the jar files and checked the existence of each class. I just don't understand why I get a ClassNotFound error when I'm positive the classes are there.

Connection info:
Code:
Connection URL:  jdbc:pervasive://acctsrv1:1583/analysis
Driver Class     :  com.pervasive.jdbc.v2.Driver
Log entries from failed connection, just in case someone spots something there:
Code:
DatabaseMeta.report.ConnectionError!org.pentaho.di.core.exception.KettleDatabaseException: 
Error occured while trying to connect to the database

Exception while loading class
com.pervasive.jdbc.v2.Driver


org.pentaho.di.core.exception.KettleDatabaseException: 
Error occured while trying to connect to the database

Exception while loading class
com.pervasive.jdbc.v2.Driver


    at org.pentaho.di.core.database.Database.normalConnect(Database.java:312)
    at org.pentaho.di.core.database.Database.connect(Database.java:261)
    at org.pentaho.di.core.database.Database.connect(Database.java:223)
    at org.pentaho.di.core.database.Database.connect(Database.java:213)
    at org.pentaho.di.core.database.DatabaseFactory.getConnectionTestReport(DatabaseFactory.java:54)
    at org.pentaho.di.core.database.DatabaseMeta.testConnection(DatabaseMeta.java:2409)
    at org.pentaho.ui.database.event.DataHandler.testDatabaseConnection(DataHandler.java:487)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at org.pentaho.ui.xul.impl.AbstractXulDomContainer.invoke(AbstractXulDomContainer.java:294)
    at org.pentaho.ui.xul.impl.AbstractXulComponent.invoke(AbstractXulComponent.java:124)
    at org.pentaho.ui.xul.impl.AbstractXulComponent.invoke(AbstractXulComponent.java:112)
    at org.pentaho.ui.xul.swt.tags.SwtButton.access$000(SwtButton.java:17)
    at org.pentaho.ui.xul.swt.tags.SwtButton$1.widgetSelected(SwtButton.java:77)
    at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source)
    at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Widget.notifyListeners(Unknown Source)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
    at org.eclipse.jface.window.Window.runEventLoop(Window.java:820)
    at org.eclipse.jface.window.Window.open(Window.java:796)
    at org.pentaho.ui.xul.swt.tags.SwtDialog.show(SwtDialog.java:222)
    at org.pentaho.di.ui.core.database.dialog.XulDatabaseDialog.open(XulDatabaseDialog.java:161)
    at org.pentaho.di.ui.core.database.dialog.DatabaseDialog.open(DatabaseDialog.java:44)
    at org.pentaho.di.ui.trans.step.BaseStepDialog$4.widgetSelected(BaseStepDialog.java:495)
    at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source)
    at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Widget.notifyListeners(Unknown Source)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
    at org.pentaho.di.ui.trans.steps.tableinput.TableInputDialog.open(TableInputDialog.java:378)
    at org.pentaho.di.ui.spoon.delegates.SpoonStepsDelegate.editStep(SpoonStepsDelegate.java:123)
    at org.pentaho.di.ui.spoon.Spoon.editStep(Spoon.java:6274)
    at org.pentaho.di.ui.spoon.trans.TransGraph.editStep(TransGraph.java:2296)
    at org.pentaho.di.ui.spoon.trans.TransGraph.access$100(TransGraph.java:150)
    at org.pentaho.di.ui.spoon.trans.TransGraph$6.mouseDoubleClick(TransGraph.java:454)
    at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source)
    at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Widget.notifyListeners(Unknown Source)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)
    at org.eclipse.swt.widgets.Control.sendTrackEvents(Unknown Source)
    at org.eclipse.swt.widgets.Control.actionProc(Unknown Source)
    at org.eclipse.swt.widgets.Display.actionProc(Unknown Source)
    at org.eclipse.swt.internal.carbon.OS.CallNextEventHandler(Native Method)
    at org.eclipse.swt.widgets.Widget.kEventControlTrack(Unknown Source)
    at org.eclipse.swt.widgets.Control.kEventControlTrack(Unknown Source)
    at org.eclipse.swt.widgets.Widget.controlProc(Unknown Source)
    at org.eclipse.swt.widgets.Display.controlProc(Unknown Source)
    at org.eclipse.swt.internal.carbon.OS.SendEventToEventTarget(Native Method)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
    at org.pentaho.di.ui.spoon.Spoon.readAndDispatch(Spoon.java:945)
    at org.pentaho.di.ui.spoon.Spoon.start(Spoon.java:5574)
    at org.pentaho.di.ui.spoon.Spoon.main(Spoon.java:412)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at apple.launcher.LaunchRunner.run(LaunchRunner.java:115)
    at apple.launcher.LaunchRunner.callMain(LaunchRunner.java:50)
    at apple.launcher.JavaApplicationLauncher.launch(JavaApplicationLauncher.java:52)
Caused by: org.pentaho.di.core.exception.KettleDatabaseException: 
Exception while loading class
com.pervasive.jdbc.v2.Driver

    at org.pentaho.di.core.database.Database.connectUsingClass(Database.java:365)
    at org.pentaho.di.core.database.Database.normalConnect(Database.java:296)
    ... 70 more
Caused by: java.lang.ClassNotFoundException: com.pervasive.jdbc.v2.Driver
    at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:316)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:280)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:374)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:164)
    at org.pentaho.di.core.database.Database.connectUsingClass(Database.java:357)
    ... 71 more

!DatabaseMeta.report.Hostname!
!DatabaseMeta.report.Port!1521
!DatabaseMeta.report.DatabaseName!