I am a newbie with SSRS 2008. I developed a DTSX file to copy data from one table in one database to another table in another database. In this DTSX file I have 3 control flow items:
Execute SQL Task: Drops my destination table
Preparation Task: Creates my destination table
Data Flow task:
Source: connects to SourceConnection OLEDB via SQL Command access and SQL command text
Destination: connects to DestinationConnection OLEDB via Table or view - fast load. Destination table = same as mentioned above.
When I run this package I get the error described in the title. But I compared the datatypes between Preparation SQL Task and the Data Flow source query and they are matching for all fields. So why does it still give me this error? It gives
me this same error for many fields.
Also, when I run it the first two control flow items succeed. It is just the Source Query Data Flow that is failing. The other problem I noticed is that the password for the destinationConnectionOLEDB keeps getting cleared even though I checked
the "Save password" box.
SSIS package "Echo Information Migration.dtsx" starting.
Information: 0x4004300A at Data Flow Task 1, SSIS.Pipeline: Validation phase is beginning.
Error: 0xC02020F6 at Data Flow Task 1, Source - Query [1]: Column "gender_code" cannot convert between unicode and non-unicode string data types.
Error: 0xC02020F6 at Data Flow Task 1, Source - Query [1]: Column "religion_code" cannot convert between unicode and non-unicode string data types.
Error: 0xC02020F6 at Data Flow Task 1, Source - Query [1]: Column "ethnicity_code" cannot convert between unicode and non-unicode string data types.
Error: 0xC02020F6 at Data Flow Task 1, Source - Query [1]: Column "race_1_code" cannot convert between unicode and non-unicode string data types.
Error: 0xC004706B at Data Flow Task 1, SSIS.Pipeline: "component "Source - Query" (1)" failed validation and returned validation status "VS_ISBROKEN".
Error: 0xC004700C at Data Flow Task 1, SSIS.Pipeline: One or more component failed validation.
Error: 0xC0024107 at Data Flow Task 1: There were errors during task validation.
SSIS package "Echo Information Migration.dtsx" finished: Failure.
My Execute SQL Task SQL statement:
drop table dbo.rd_information3_echo
My Preparation SQL Task SQL Statement:
CREATETABLE [rd_information3_echo] (
[client_id] nvarchar(20),
[original_table_name] varchar(300),
[last_name] nvarchar(50),
[first_name] nvarchar(50),
[middle_name] nvarchar(15),
[agency_id_no] nvarchar(20),
[gender] nvarchar(50),
[gender_code] varchar(20),
[ss_number] nvarchar(9),
[date_of_birth] datetime,
[street_address_1] nvarchar(50),
[street_address_2] nvarchar(50),
[City] nvarchar(50),
[state] nvarchar(50),
[state_code] nvarchar(2),
[zip_code] nvarchar(9),
[religion] nvarchar(50),
[religion_code] varchar(20),
[ethnicity] nvarchar(50),
[ethnicity_code] varchar(20),
[race_1] nvarchar(50),
[race_1_code] varchar(20)
)
My source query SQL command text:
selectdistinct--en.location_c as Location, --This only exists to identify data errors by location and does not run when loading data.CONVERT(nvarchar(20),c.clientcode_c) AS client_id, --Legacy CDT# (must be the same legacy ID for all conversion tables)CONVERT(nvarchar(50),c.lastname_vc) AS last_name,CONVERT(nvarchar(50),c.firstname_vc) AS first_name,CONVERT(nvarchar(15),c.middlename_vc) AS middle_name,CONVERT(nvarchar(20),c.altclientcode_vc) AS agency_id_no, --TNKIDS NumberCONVERT(nvarchar(50),CASEWHEN c.gender_c = 'M'THEN'Male'WHEN c.gender_c = 'F'THEN'Female'WHEN c.gender_c = 'U'THEN'Unknown'ELSE'Unknown'END) AS gender,CONVERT(varchar(20),CASEWHEN c.gender_c = 'M'THEN'M'WHEN c.gender_c = 'F'THEN'F'WHEN c.gender_c = 'U'THEN'U'Else'U'END ) AS gender_code,CONVERT(nvarchar(9),(SUBSTRING(c.socialsecnum_c, 1,3)+SUBSTRING(c.socialsecnum_c, 5,2)+SUBSTRING(c.socialsecnum_c, 8,4))) AS ss_number,
c.birthdate_d AS date_of_birth,CONVERT(nvarchar(50), address1_vc) AS street_address_1,CONVERT(nvarchar(50), address2_vc) AS street_address_2,CONVERT(nvarchar(50), city_vc) AS City,CONVERT(nvarchar(50), state_c) AS state,CONVERT(nvarchar(2), state_c) AS state_code,CONVERT(nvarchar(9), zip_c) AS zip_code,CONVERT(nvarchar(50),CASEWHEN c.religion_c = 'A'THEN'7th Day Adventist'WHEN c.religion_c = 'AG'THEN'Agnostic'WHEN c.religion_c = 'AT'THEN'Atheist'WHEN c.religion_c = 'B'THEN' Buddhist'WHEN c.religion_c = 'BA'THEN'Baptist'WHEN c.religion_c = 'C'THEN'Catholic'WHEN c.religion_c = 'E'THEN'Episopalian'WHEN c.religion_c = 'EC'THEN'Ecumencial'WHEN c.religion_c = 'H'THEN'Hindu'WHEN c.religion_c = 'HG'THEN'Huguenot'WHEN c.religion_c = 'J'THEN'Jewish'WHEN c.religion_c = 'JW'THEN'Jehovahs Witness'WHEN c.religion_c = 'L'THEN'Lutheran'WHEN c.religion_c = 'MU'THEN'Muslim'WHEN c.religion_c = 'ME'THEN'Methodist'WHEN c.religion_c = 'MEN'THEN'Mennonite'WHEN c.religion_c = 'MO'THEN'Mormon'WHEN c.religion_c = 'M'THEN'Moslem'WHEN c.religion_c = 'N'THEN'None'WHEN c.religion_c = 'NO'THEN'Nondenominational'WHEN c.religion_c = 'O'THEN'Other'WHEN c.religion_c = 'P'THEN'Protestant'WHEN c.religion_c = 'PC'THEN'Pentecostal'WHEN c.religion_c = 'PS'THEN'Presbyterian'WHEN c.religion_c = 'Q'THEN'Quaker'WHEN c.religion_c = 'UN'THEN'Unknown'WHEN c.religion_c = 'UT'THEN'Unitarian'ELSE'Unknown'END) AS religion,UPPER(CONVERT(varchar(20),CASE-- Cased out religion codes KMH 06/17/10WHEN c.religion_c = 'A'THEN'A'WHEN c.religion_c = 'AG'THEN'AG'WHEN c.religion_c = 'AT'THEN'AT'WHEN c.religion_c = 'B'THEN' B'WHEN c.religion_c = 'BA'THEN'BA'WHEN c.religion_c = 'C'THEN'C'WHEN c.religion_c = 'E'THEN'E'WHEN c.religion_c = 'EC'THEN'E'WHEN c.religion_c = 'H'THEN'H'WHEN c.religion_c = 'HG'THEN'HG'WHEN c.religion_c = 'J'THEN'J'WHEN c.religion_c = 'JW'THEN'JW'WHEN c.religion_c = 'L'THEN'L'WHEN c.religion_c = 'MU'THEN'MU'WHEN c.religion_c = 'ME'THEN'ME'WHEN c.religion_c = 'MEN'THEN'MEN'WHEN c.religion_c = 'MO'THEN'MO'WHEN c.religion_c = 'M'THEN'M'WHEN c.religion_c = 'N'THEN'N'WHEN c.religion_c = 'NO'THEN'NO'WHEN c.religion_c = 'O'THEN'O'WHEN c.religion_c = 'P'THEN'P'WHEN c.religion_c = 'PC'THEN'PC'WHEN c.religion_c = 'PS'THEN'PS'WHEN c.religion_c = 'Q'THEN'Q'WHEN c.religion_c = 'UN'THEN'UN'WHEN c.religion_c = 'UT'THEN'UT'ELSE'UN'END)) AS religion_code,CONVERT(nvarchar(50), --Added ethnicity case statement KMH 5/26/10CASEWHEN c.race_c = 'H'THEN'Hispanic'ELSE'Non Hispanic'END) AS ethnicity,CONVERT(varchar(20), --Added ethnicity case statement KMH 5/26/10CASEWHEN c.race_c = 'H'THEN'01'ELSE'02'END) AS ethnicity_code,CONVERT(nvarchar(50),CASEWHEN c.race_c = 'A'THEN'Asian'WHEN c.race_c = 'AI'THEN'American Indian'WHEN c.race_c = 'B'THEN'African American'WHEN c.race_c = 'BR'THEN'Bi-racial'WHEN c.race_c = 'C'THEN'Caucasian'WHEN c.race_c = 'H'THEN'Hispanic'WHEN c.race_c = 'ME'THEN'Middle Eastern'WHEN c.race_c = 'N'THEN'Native Hawaiian/Other Pacific Islander'WHEN c.race_c = 'O'THEN'Other'ELSE'Other'END) AS race_1,UPPER(CONVERT(varchar(20),CASEWHEN c.race_c isNULLTHEN'U'WHEN c.race_c = 'A'THEN'A'WHEN c.race_c = 'AI'THEN'AI'WHEN c.race_c = 'B'THEN'B'WHEN c.race_c = 'BR'THEN'BR'WHEN c.race_c = 'C'THEN'C'WHEN c.race_c = 'H'THEN'H'WHEN c.race_c = 'ME'THEN'ME'WHEN c.race_c = 'N'THEN'N'WHEN c.race_c = 'O'THEN'O'ELSE'U'END))AS race_1_code,'ar.client'AS original_table_namefrom
ar.client cINNERJOIN cd.enrollments en ON (c.uniqueid_c = en.clientid_c)INNERJOIN cd.episode ep ON (ep.uniqueid_c = en.episodeid_c and ep.clientid_c = c.uniqueid_c)LEFTJOIN dbo.GC_clientaddress ad ON (ad.clientcode_c = c.clientcode_c)where
(ep.enddate_d isNULLOR ep.enddate_d >= getdate()-729) and
en.location_c in (select code from dbo.yv_LKUP_OfficeLocation where state in ('GA', 'AL'))--change data pull with states here (check location codes on dbo.yv_LKUP_OfficeLocation)
Also, I noticed that the Metadata window between Source and Destination on the Data Flow tab, that these 4 fields = DT_WSTR of length 5, even though I specified length 20 in the SQL Create script and also I see this same table already listed with these fields
and length 20.
Ryan D