views:

1226

answers:

3
                      (Flat File Location)
                    Samba Share | Windows Share
(SSIS)           _______________________________
                |               |
XP 32bit        |  Works        |  Works
                |               |
2003 Serv 32bit |  Works        |  Works
                |               |
Vista 64bit     |  ERROR        |  Works
                |               |
Win 7 64bit     |  ERROR        |  Works 
                |               |
2008 Serv 64bit |  ERROR        |  Works

I created an SSIS package in VS 2008 that parses a flat file from a shared folder and puts the records into a SQL Server db.

I recently installed Windows 7 and VS 2008 on a new workstation. When I import the package from TFS and open it, I get the error

Validation error. Parse and Import Catalog Flat File: MySSISPackage: The file name "\\shared\flatfile.txt" specified in the connection was not valid.

When I open the Flat File Connection Manager Editor, there is an error stating:

A valid file name must be selected

I can browse to and select the file from inside the editor, but I cannot change any properties, or move away from the General tab because of this error.

If I go back to my laptop (Windows XP), where the package was first created, there is no error. Both workstations are on the same domain, and I'm logging in using the same credentials.

Any ideas as to why I would receive this error from one workstation and not another?


UPDATE: If I take the .dtsx package from the running workstation and load it into SSIS on the server, I get the following errors when it tries to run:

Error: The file name "\\shared\flatfile.txt" specified in the connection was not valid.

and...

Error: Connection "MySSISPackage" failed validation.

and...

Error: The file name property is not valid. The file name is a device or contains invalid characters.


UPDATE 2:

a) The Shared folder I'm trying to pull the flat file from is a Samba share on a Unix box.

b) If I access the file using SSIS on any 64-bit platform (Windows 7 64-bit, Vista 64-bit, Windows Server 2008) I get the error "A valid file name must be selected."

c) Accessing the file using SSIS from 32-bit environments (Windows XP 32-bit, Windows Server 2003 32-bit) there is no problem.

d) If I move the file to a shared folder on a Windows server, 64-bit SSIS recognizes the file.

+1  A: 

Are you loading it into SQL Server on the workstation, or is it a central server?

If on the workstation, does SQL Server run under the same account on both machines? It's possible the SQL Service on the new machine is running under a different account and thus doesn't have access to the file.

Andy Shellam
Actually, I get the "valid file name must be selected" when creating the Flat File Connection Manager in Visual Studio. It hasn't made it to the SQL Server at that point. I also get other errors (updated above) when trying to load the same package compiled on a different workstation into a SQL Server.
Traples
+1  A: 

Hi !

We had the same kind of problem. After searching a while, we found that the account used had access to the sub-dir, but not to the share. It looks like your account needs to have access inherited from then highest directory.

e.g.: \\server\share\foder\subfold1\subfold2\file.csv <== We need access here acces to "subfold2" is not inherited and the account did not have access to \\server\share\

So we gave acces to \\server\share\ and it fixed the problem.

Yves Deschenes
+1  A: 

This sounds like a problem with connecting to the CIFS share.

On Windows 7 & Server 2008 there are several settings we had to change to allow the SSIS service account to connect to the CIFS share in our environment. I would try each of these 1 step at a time since there are situations where all steps are not required.

Step 1: Administrative Tools -> Local Security Policy -> Security Settings -> Local Policies -> Security Options -> Network Security: LAN Manager Authentication Level Change this value to: Send LM and NTLM -use NTLM2 session security if negotiated

Step 2: Disable IP v.6

Step 3: Force TCP/IP over Netbios.