Showing posts with label queries. Show all posts
Showing posts with label queries. Show all posts

Sunday, March 11, 2012

Error in paramterized query - Execute SQL Task

Hi,

I am having some difficulties with a Execute SQL Task, I'll try to describe:

The task contains 2 queries:

UPDATE config SET last_timestamp_int=this_timestamp_int, this_timestamp_int=CAST(GETDATE() AS INT) WHERE company_id=?

SELECT last_timestamp_int AS last_timestamp_int, this_timestamp_int AS this_timestamp_int FROM config WHERE company_id=?

The ? reference to a variable set in Parameter Mapping, which has a initial string value set. Direction set to "Input", Datatype set to "varchar", and parametername to "0". The connectiontype is OLE DB. I have tried to set BypassPrepare to true, but that doesnt help.

The second query fetch 2 values which is stored in the task's Result Set, in two variables. Resultset is set to single row.

When I press Parse Query, I get an error:

"The query failed to parse. Parameter Information cannot be derived from SQL statements. Set parameter information before preparing command."

When I try to run the package, I get this error:

SSIS package "Package.dtsx" starting.

Error: 0xC002F210 at Store last timestamp in variable, Execute SQL Task: Executing the query "UPDATE config SET last_timestamp_int=this_timestamp_int, this_timestamp_int=CAST(GETDATE() AS INT) WHERE company_id=?

SELECT last_timestamp_int AS last_timestamp_int, this_timestamp_int AS this_timestamp_int FROM config WHERE company_id=?" failed with the following error: "No value given for one or more required parameters.". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly.

Task failed: Store last timestamp in variable

Warning: 0x80019002 at Define global variables: The Execution method succeeded, but the number of errors raised (1) reached the maximum allowed (1); resulting in failure. This occurs when the number of errors reaches the number specified in MaximumErrorCount. Change the MaximumErrorCount or fix the errors.

Warning: 0x80019002 at Package: The Execution method succeeded, but the number of errors raised (1) reached the maximum allowed (1); resulting in failure. This occurs when the number of errors reaches the number specified in MaximumErrorCount. Change the MaximumErrorCount or fix the errors.

SSIS package "Package.dtsx" finished: Failure.

Can someone please help me identify, what it is I am doing wrong?

Thanks in advance

Your setup looks correct to me, so I have two suggestions for troubleshooting this.

1. Break up the task into two separate tasks, one for the update and a second for the select.

2. Run profiler to see the value and result of your queries when they run.

I don't think there's any issue with the parsing. My understanding is that the parser doesn't know what to do with the ? variable so it always returns an error even if it's a valid working query.

|||Use two parameters, one for the UPDATE and one for the SELECT (even though the values of the parameters are the same)

Friday, March 9, 2012

Error in MDX queries

Dear all Please Help

When I am executing the following queries in MDX the error will come

'Warning 2 Query (15, 1) Parser: The syntax for 'FORMAT_STRING' is incorrect. [Line:15; Column:1] 0 0 '

Query as follows...

CALCULATE;

CREATE MEMBER CURRENTCUBE.[MEASURES].[Percentage of Profit]

AS ([Measures].[Profit],[Sales Analysis].[Group Description].CurrentMember)/([Measures].[Profit],[Sales Analysis].[Group Description].[All]),

FORMAT_STRING = "Percent",

NON_EMPTY_BEHAVIOR = { [Quantity] },

VISIBLE = 1;

CREATE MEMBER CURRENTCUBE.[MEASURES].[Parent Percent]

AS iif(IsEmpty(([Measures].[Profit],[Sales Analysis].[Area Description].Parent)),1,

([Measures].[Profit])/([Measures].[Profit],[Sales Analysis].[Area Description].Parent),

FORMAT_STRING = "Percent",

VISIBLE = 1 ;

hello,

it looks like your second calculated member (i.e. Parent Percent) is missing the closing ')' for the iif function.

hope this helps,