Re: Syntax -
05-30-2008
, 03:46 AM
Firstly:
<quote>
Thus my connection table is now the mdb file name minus the ".mdb"
extension
and the path.
</quote>
This is fine, but I would generally recommend using the "SQL Statement
from variable" and creating the entire SQL Statement for your source.
It is more efficient (something to do with the way SSIS prepares the
connection) and also provides greater control overy what is actually
selected from the table.
<quote>
Similarly, the Access mdb connection string should be the variable
name as
the database and the provider should be the Jet 4.0.
</quote>
No - as I posted, the "ConnectionString" property includes the "Data
Source=...", so you need to use an expression to build the string.
You could try setting the "ServerName" property which I believe just
contains the file name, but I would recommend setting the
ConnectionString in full.
<quote>
I'd like to be able to hit evaluate and
actually see the name of the first mdb in the variable list. It would
sure
help in debugging this process.
</quote>
You can. Just hardcode the variable value at design time, and when
you hit Evaluate the hardcoded value will be used. The hardcoded
value will be replaced at runtime, and re-set when the package ends
(to see the runtime value you'll have to debug the package - I usually
just use script tasks and msgbox the value 'cos it's easy).
BUT - what you are trying to do is not possible in SSIS anyway, unless
all 250 tables have exactly the same table structure (i.e. column
names and types). SSIS does not allow the metadata inside a data flow
task to be changed at runtime. Unless you have 250 identical tables,
you will need to come up with a different method of extracting the
data. It may be possible to do this using control flow tasks, but I
haven't tried looping table extracts into Access that way before.
Good luck!
J |