View Full Version : Kettle 2.5.0 and CIFS/Window Shares

05-21-2007, 12:00 PM
Hey all,
I had a previous transformation that used the Text File Input step. The file was passed as a variable. This is on a Windows machine.

In 2.4.0, the original/working version, the variable was like this:

In 2.5.0, what should this be?

I've tried file://server1, smb://server1, etc and none work. I get errors like:

"Couldn't open file #0 : C:\containers\kettle\Kettle-2.5.0\smb:\server1\share\subdir\file1.csv --> org.apache.commons.vfs.FileSystemException: Could not read from "file:///C:/containers/kettle/Kettle-2.5.0/smb:/server1/share/subdir/file1.csv" because it is a not a file."

I noticed there is no jcifs jar, so added that to /libext, but that does not seem to have an impact (and I did close and re-open Spoon). This is all tested within Spoon.

05-21-2007, 12:36 PM
To enable the SMB support, you have to recompile the commons-vfs. The stable 1.0.0 version does not contain the classes for the SMB-stuff, as this part was never stable enough. So the Apache guys moved that into the experimental package before they made their release.

But then again, you if you map your windows share to a drive-letter (or if running on linux, mount the share using smbmount) you can access these files like any other file in your local filesystem.

Have fun,
said Thomas

05-21-2007, 01:51 PM
That's exactly what I needed to hear, and I appreciate the workaround (mapping a drive), that seems to work perfectly. Just adding it as a note to some of my jobs/transformations so hopefully the next person that tries exactly what I did will read the note and not run into the problem ;-).

05-21-2007, 02:06 PM
We also fixed the "reading" part of the SMB/CIFS problem in Kettle.
To try it and watch the patch in full glory, download and replace kettle.jar: http://www.kettle.be/dloads/kettle.jar



12-10-2013, 11:30 AM

I would like to return to this matter, I see that this post is 2007, today there is some definition? or somehow (maybe re-compiling some library) to be running the cifs / share