Execute SQL Task Error: Resultset Property
Looking to find help on resolving the below noted error
Full Error Text: "The statement has been terminated.". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly.
We are creating new packages in SQL2012 from older packages from SQL2008. My package has several tasks, but 3 of the 18 are failing. The first of which is the above noted error, from the following script - Any insight to resolving this error
would be most helpful. Thanks in advance
NOTE: ResultsetType = None
Regards,
Newbie SSIS
Task - UPDATE BUSINESS_GROUP_ORG INFO
UPDATE SOLD_FROM ORGANIZATION_ID NAME
UPDATE ORA_C_OE_ORDER_LINES_ALL_ACTUALS_ADJUSTMENTS_STG
SET BUSINESS_GROUP_ID = APPS_HR_ALL_ORGANIZATION_UNITS.BUSINESS_GROUP_ID,
ORG_ID_NAME = APPS_HR_ALL_ORGANIZATION_UNITS.NAME
FROM APPS_HR_ALL_ORGANIZATION_UNITS
WHERE
ORA_C_OE_ORDER_LINES_ALL_ACTUALS_ADJUSTMENTS_STG.SOLD_FROM_ORG_ID = APPS_HR_ALL_ORGANIZATION_UNITS.ORGANIZATION_ID
UPDATE BUSINESS_GROUP_NAME
UPDATE ORA_C_OE_ORDER_LINES_ALL_ACTUALS_ADJUSTMENTS_STG
SET BUS_GROUP_NAME = APPS_HR_ALL_ORGANIZATION_UNITS.NAME
FROM APPS_HR_ALL_ORGANIZATION_UNITS
WHERE
ORA_C_OE_ORDER_LINES_ALL_ACTUALS_ADJUSTMENTS_STG.BUSINESS_GROUP_ID = APPS_HR_ALL_ORGANIZATION_UNITS.ORGANIZATION_ID
UPDATE SHIP_FROM_ORGANIZATION_NAME
UPDATE ORA_C_OE_ORDER_LINES_ALL_ACTUALS_ADJUSTMENTS_STG
SET SHIP_FROM_ORG_NAME = APPS_HR_ALL_ORGANIZATION_UNITS.NAME
FROM APPS_HR_ALL_ORGANIZATION_UNITS
WHERE
ORA_C_OE_ORDER_LINES_ALL_ACTUALS_ADJUSTMENTS_STG.SHIP_FROM_ORG_ID = APPS_HR_ALL_ORGANIZATION_UNITS.ORGANIZATION_ID
Your UPDATE statement doesn't look right. In all the 3 UPDATE statements, you are Updating table
ORA_C_OE_ORDER_LINES_ALL_ACTUALS_ADJUSTMENTS_STG but that table doesn't exist in the FROM clause i.e. the FROM clause has a different table
APPS_HR_ALL_ORGANIZATION_UNITS. Looks like you are missing a JOIN between those 2 tables.
Can you try this ?
UPDATE SOLD_FROM ORGANIZATION_ID NAME
UPDATE ORA_C_OE_ORDER_LINES_ALL_ACTUALS_ADJUSTMENTS_STG
SET BUSINESS_GROUP_ID = APPS_HR_ALL_ORGANIZATION_UNITS.BUSINESS_GROUP_ID,
ORG_ID_NAME = APPS_HR_ALL_ORGANIZATION_UNITS.NAME
FROM APPS_HR_ALL_ORGANIZATION_UNITS
, ORA_C_OE_ORDER_LINES_ALL_ACTUALS_ADJUSTMENTS_STG --I've only added this
WHERE
ORA_C_OE_ORDER_LINES_ALL_ACTUALS_ADJUSTMENTS_STG.SOLD_FROM_ORG_ID = APPS_HR_ALL_ORGANIZATION_UNITS.ORGANIZATION_ID
UPDATE BUSINESS_GROUP_NAME
UPDATE ORA_C_OE_ORDER_LINES_ALL_ACTUALS_ADJUSTMENTS_STG
SET BUS_GROUP_NAME = APPS_HR_ALL_ORGANIZATION_UNITS.NAME
FROM APPS_HR_ALL_ORGANIZATION_UNITS
, ORA_C_OE_ORDER_LINES_ALL_ACTUALS_ADJUSTMENTS_STG --I've only added this
WHERE
ORA_C_OE_ORDER_LINES_ALL_ACTUALS_ADJUSTMENTS_STG.BUSINESS_GROUP_ID = APPS_HR_ALL_ORGANIZATION_UNITS.ORGANIZATION_ID
UPDATE SHIP_FROM_ORGANIZATION_NAME
UPDATE ORA_C_OE_ORDER_LINES_ALL_ACTUALS_ADJUSTMENTS_STG
SET SHIP_FROM_ORG_NAME = APPS_HR_ALL_ORGANIZATION_UNITS.NAME
FROM APPS_HR_ALL_ORGANIZATION_UNITS
, ORA_C_OE_ORDER_LINES_ALL_ACTUALS_ADJUSTMENTS_STG --I've only added this
WHERE
ORA_C_OE_ORDER_LINES_ALL_ACTUALS_ADJUSTMENTS_STG.SHIP_FROM_ORG_ID = APPS_HR_ALL_ORGANIZATION_UNITS.ORGANIZATION_ID
Narsimha
Similar Messages
-
Hi
DECLARE @XMLA nvarchar(3000)
, @DateSerial nvarchar(35);
-- Change date to format YYYYMMDDHHMMSS
SET @DateSerial = CAST(GETDATE() AS DATE);
--SELECT @DateSerial
Set @XMLA =
N' <Batch xmlns="http://schemas.microsoft.com/analysis services/2003/engine">
<ErrorConfiguration xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ddl2="http://schemas.microsoft.com/analysisservices/2003/engine/2"
xmlns:ddl2_2="http://schemas.microsoft.com/analysisservices/2003/engine/2/2" xmlns:ddl100_100="http://schemas.microsoft.com/analysisservices/2008/engine/100/100" xmlns:ddl200="http://schemas.microsoft.com/analysisservices/2010/engine/200"
xmlns:ddl200_200="http://schemas.microsoft.com/analysisservices/2010/engine/200/200">
<KeyErrorLimit>-1</KeyErrorLimit>
<KeyNotFound>IgnoreError</KeyNotFound>
<NullKeyNotAllowed>IgnoreError</NullKeyNotAllowed>
</ErrorConfiguration>
<Parallel>
<Process xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ddl2="http://schemas.microsoft.com/analysisservices/2003/engine/2" xmlns:ddl2_2="http://schemas.microsoft.com/analysisservices/2003/engine/2/2"
xmlns:ddl100_100="http://schemas.microsoft.com/analysisservices/2008/engine/100/100" xmlns:ddl200="http://schemas.microsoft.com/analysisservices/2010/engine/200" xmlns:ddl200_200="http://schemas.microsoft.com/analysisservices/2010/engine/200/200"
xmlns:ddl300="http://schemas.microsoft.com/analysisservices/2011/engine/300" xmlns:ddl300_300="http://schemas.microsoft.com/analysisservices/2011/engine/300/300">
<Object>
<DatabaseID>MultidimensionalProject5</DatabaseID>
<CubeID>giri</CubeID>
<MeasureGroupID>Fact Internet Sales</MeasureGroupID>
</Object>
<Type>ProcessFull</Type>
<WriteBackTableCreation>UseExisting</WriteBackTableCreation>
</Process>
</Parallel>
</Batch>';
EXEC (@XMLA) At SHALL-PCAdventureWorksDw ;
iam executive the query when iam getting below error.
[Execute SQL Task] Error: Executing the query "DECLARE
@XMLA nvarchar(3000)
, @DateSerial nvarch..." failed with the following error: "Incorrect syntax near '-'.". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set
correctly, or connection not established correctly.
how to solve this error;
please help meWhat are you trying to do? What sort of data source is SHALL-PCAdventureWorksDw?
When you use EXEC() AT, I would execpt to see an SQL string to be passed to EXEC(), but you are passing an XML string????
If you explain why you think this would work in the first place, maybe we can help you.
Erland Sommarskog, SQL Server MVP, [email protected] -
I am experiencing an unexplainable behavior with the Execute SQL Task control in SSIS 2012. The following is a description of how to simulate
the issue I will attempt to describe:
1. Create a package and add two variables User::varTest1 and User::varTest2 both of String type with default value of "Select GetDate()"
for each, have shown this to not matter as the same behavior occurs when using a fixed string value or empty string value.
2. Add a new Execute SQL Task to the control flow.
3. Configure an OLE DB connection.
4. Set SQLSourceType = "Direct Input"
5. Set the ResultSet property of the task to "Single Row"
6. In the ResultSet tab add two results as follows:
Result Name: returnvalue1, Variable Name: User::varTest1
Result Name: returnvalue2, Variable Name: User::varTest2
7. Set an expression for the SqlStatementSource property with a string value of "Select 'Test' returnvalue1, 'Testing' returnvalue2'"
The idea is that the source would be dynamically set in order to run a t-sql statement which would have dynamic values for database name
or object that would be created at runtime and then executed to set the user variable values from its resultset. Instead what occurs is that a DBNull error occurs.
I am not sure if anyone else has experienced this behavior performing similiar actions with the Execute SQL Task or not. Any help would be
appreciated. The exact message is as follows:
[Execute SQL Task] Error: An error occurred while assigning a value to variable "varRestoreScript": "The type of the value
(DBNull) being assigned to variable "User::varRestoreScript" differs from the current variable type (String). Variables may not change type during execution. Variable types are strict, except for variables of type Object.
User::varRestoreScript is the first return value. And even with the a dummy select the same result occurs. I have narrowed the issue down
to the T-SQL Statement structure itself.
The following works just fine within the execute sql task control as long as no resultset is configured for return:
"Declare @dynamicSQL nvarchar(max)
Select @dynamicSQL = name
From sys.databases
Where name = 'master'
Select atest_var1=@dynamicSQL, atest_var2='static'"
I have tried various iterations of the script above with no success. However, if I use the following derivative of it the task completes
successfully and variables are set as expected. This will not work for my scenario however as I need to dynamically build a string spanning multiple resultsets to build one of the variable values.
"Select atest_var1=name, atest_var2='static'
From sys.databases
Where name = 'master'
I have a sample package which can reproduce this issue using the above code. You can get to that through the post on www.sqlservercentral.com/Forums/Topic1582670-364-1.aspx
ScottArthur, the query when executed doesn't return a null value for the @dynamicSQL variable. It returns "master" as a string value. Even the following fails which implements that suggestion:
Declare @dynamicSQL as nvarchar(max)
Select @dynamicSQL = name
From master.sys.databases
Where name = 'master' -- (or any other DB name)
I believe I have found the cause of the issue. It is datatype and size related. The above script will properly set the variables in the resultset as long as you don't use nvarchar(max) or varchar(max). This makes the maximum data size for
a String variable 4000 characters whether unicode or non-unicode typed. -
I have an package with source , data flow and destination to execute on begin and commit.
in the below i have just used for questioning purpose with diagram removing my Data Flow task explaining my problem
on execution, i get error as
[Execute SQL Task] Error: Executing the query "COMMIT TRAN DimCompanyCode" failed with the following error: "The COMMIT TRANSACTION request has no corresponding BEGIN TRANSACTION.". Possible failure reasons: Problems with the query, "ResultSet"
property not set correctly, parameters not set correctly, or connection not established correctly.
as mentioned , i have checked the ResultSet, parameters , connection establish.. all are fine.
Kindly advice on what has to be done.
ShanmugaRajTo avoid this error, the RetainSameConnection property should set to 'True' for the Connection Manager - Application_DB.
Narsimha -
I am using the following query in Execute SQL Task
SELECT CASE(SELECT COUNT(*) FROM STG_APJ_APIW_DETAILS
WHERE source_filename = ?
AND lTRIM(RTRIM([BILLING DATE])) <> '') WHEN 0 THEN (SELECT CONVERT(VARCHAR(8), GETDATE(), 112) AS [YYYYMMDD])
ELSE
(SELECT TOP 1 [BILLING DATE] FROM STG_APJ_APIW_DETAILS
WHERE source_filename = ?
AND lTRIM(RTRIM([BILLING DATE])) <> '')
END
In parameter Mapping i have created two parameters and in result set i choose my variable.
Result set property is Single Row.
Following is the error message i received,
[Execute SQL Task] Error: Executing the query "SELECT CASE(SELECT COUNT(*) FROM STG_APJ_APIW_DETA..." failed with the following error: "Syntax error, permission violation, or other nonspecific error". Possible failure reasons: Problems
with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly.
SarvanI cant see where you've named resultset. try like below to make sure resultset has the name used in resultset tab
SELECT CASE(SELECT COUNT(*) FROM STG_APJ_APIW_DETAILS
WHERE source_filename = ?
AND lTRIM(RTRIM([BILLING DATE])) <> '') WHEN 0 THEN (SELECT CONVERT(VARCHAR(8), GETDATE(), 112))
ELSE
(SELECT TOP 1 [BILLING DATE] FROM STG_APJ_APIW_DETAILS
WHERE source_filename = ?
AND lTRIM(RTRIM([BILLING DATE])) <> '')
END AS [Billing Date]
Please Mark This As Answer if it helps to solve the issue Visakh ---------------------------- http://visakhm.blogspot.com/ https://www.facebook.com/VmBlogs -
SSIS - Using Variables in Execute SQL Task Error
The following query in my Execute SQL Task throws the following error when run - [Execute SQL Task] Error: Executing the query "SELECT @columnz = COALESCE(@columnz + ',[' + times..." failed with the following error:
"Must declare the scalar variable "@columnz".". Possible failure reasons: Problems with the query,
"ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly.
Query:
drop table tmpNCPCNCDownstreamMaxUtilization3wks
select node, max(utilization) as max_Utilization, DATE
into tmpNCPCNCDownstreamMaxUtilization3wks
from stage_ncpcncdownstream_temporal
WHERE Date BETWEEN DATEADD(day, -20, GETDATE()) AND GETDATE()
group by node, date
order by node
go
alter table tmpNCPCNCDownstreamMaxUtilization3wks add Timestamp varchar(50)
go
update tmpNCPCNCDownstreamMaxUtilization3wks
set Timestamp = 'WeekOf_' + cast(left(Date, 11) as varchar)
go
--drop table tmpNCPCNC_DownstreamNodeUtilizationMaxPivot
--go
declare @columnz varchar (8000)
go
SELECT @columnz = COALESCE(@columnz + ',[' + timestamp + ']','[' + timestamp+ ']')
FROM tmpNCPCNCDownstreamMaxUtilization3wks group by timestamp order by timestamp
go
--pivot contents in @columns
declare @query varchar(8000)
SET @query ='select * into tmpNCPCNC_DownstreamNodeUtilizationMaxPivot from
(select node, timestamp, Max_Utilization from tmpNCPCNCDownstreamMaxUtilization3wks)a
pivot
sum(max_Utilization) for timestamp in('+ @columnz +')
)as p'
execute (@query)
--empty contents from NCPCNCDownstreamMaxUtilization3wks
update tmpNCPCNCDownstreamMaxUtilization3wks
set timestamp =''
truncate table tmpNCPCNC_MaxDownstreamNodeUtilzationChart3Week
--load to table to be joined to Node feature class
insert into tmpNCPCNC_MaxDownstreamNodeUtilzationChart3Week
(Node, TwoWeeksAgo, PreviousWeek, CurrentWeek)
select * from tmpNCPCNC_DownstreamNodeUtilizationMaxPivot
--calculate average utilization for all values in each record
update tmpNCPCNC_MaxDownstreamNodeUtilzationChart3Week
set average = (coalesce(twoweeksago, 0) + coalesce(previousweek, 0) + coalesce(currentweek, 0))/3
from tmpNCPCNC_MaxDownstreamNodeUtilzationChart3Week
ScottIssue is with variable @columnz.
Scope of variables is only limited to the batch and if batch is over Variable is no more accessible.
Reproduce Steps:
DECLARE @columnz int = 0
Go --Scope of @columnz ends here
SELECT @columnz -- Ends up with error
So you have to remove GO keyword. I have commented 2 of them in below:
DROP TABLE tmpNCPCNCDownstreamMaxUtilization3wks
SELECT node
,max(utilization) AS max_Utilization
,DATE
INTO tmpNCPCNCDownstreamMaxUtilization3wks
FROM stage_ncpcncdownstream_temporal
WHERE DATE BETWEEN DATEADD(day, - 20, GETDATE())
AND GETDATE()
GROUP BY node
,DATE
ORDER BY node
GO
ALTER TABLE tmpNCPCNCDownstreamMaxUtilization3wks ADD TIMESTAMP VARCHAR(50)
GO
UPDATE tmpNCPCNCDownstreamMaxUtilization3wks
SET TIMESTAMP = 'WeekOf_' + cast(left(DATE, 11) AS VARCHAR)
GO
--drop table tmpNCPCNC_DownstreamNodeUtilizationMaxPivot
--go
DECLARE @columnz VARCHAR(8000)
--GO
SELECT @columnz = COALESCE(@columnz + ',[' + TIMESTAMP + ']', '[' + TIMESTAMP + ']')
FROM tmpNCPCNCDownstreamMaxUtilization3wks
GROUP BY TIMESTAMP
ORDER BY TIMESTAMP
--GO
--pivot contents in @columns
DECLARE @query VARCHAR(8000)
SET @query = 'select * into tmpNCPCNC_DownstreamNodeUtilizationMaxPivot from
(select node, timestamp, Max_Utilization from tmpNCPCNCDownstreamMaxUtilization3wks)a
pivot
sum(max_Utilization) for timestamp in(' + @columnz + ')
)as p'
EXECUTE (@query)
--empty contents from NCPCNCDownstreamMaxUtilization3wks
UPDATE tmpNCPCNCDownstreamMaxUtilization3wks
SET TIMESTAMP = ''
TRUNCATE TABLE tmpNCPCNC_MaxDownstreamNodeUtilzationChart3Week
--load to table to be joined to Node feature class
INSERT INTO tmpNCPCNC_MaxDownstreamNodeUtilzationChart3Week (
Node
,TwoWeeksAgo
,PreviousWeek
,CurrentWeek
SELECT *
FROM tmpNCPCNC_DownstreamNodeUtilizationMaxPivot
--calculate average utilization for all values in each record
UPDATE tmpNCPCNC_MaxDownstreamNodeUtilzationChart3Week
SET average = (coalesce(twoweeksago, 0) + coalesce(previousweek, 0) + coalesce(currentweek, 0)) / 3
FROM tmpNCPCNC_MaxDownstreamNodeUtilzationChart3Week
-Vaibhav Chaudhari -
Execute SQl Task Error SSIS Package
Hi all,
I`m using for each loop container in my package to grab the file name from the source path. I have created 2 vairables
FilePath and SourceFolder
I`m using execute sql task inside the container and this is my query
Insert into [dbo].[DCA_FF_TEST] (File_Name,File_Date) SELECT File_name = ?,
File_Date = GetDate()
Please not the Table I am trying to insert has more columns but at this stage I dont need them.
When i execute the task I get an error
[Execute SQL Task] Error: Executing the query "
INSERT INTO [dbo].[DCA_FF_TEST] ([File_Name],[F..." failed with the following error: "The statement has been terminated.". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters
not set correctly, or connection not established correctly.
Can someone point me in the right direction? Am I missing anything?
Resultset property Set to None
Parameter Mapping: Variablename: FilePath , Direction: Input, datatype : Varchar, Parametername: 0, ParameterSize: 100.
I`ve checked the connection as well it works.
FMDid you try
Insert into [dbo].[DCA_FF_TEST] (File_Name,File_Date)
SELECT ?, GetDate()
Or
Insert into [dbo].[DCA_FF_TEST] (File_Name,File_Date) VALUES (?, GetDate())
A Fan of SSIS, SSRS and SSAS -
Execute SQL Task - FOR XML PATH query error
I have the following query
SELECT pl.Id,
pl.StartTime,
pl.EndTime,
pl.PackageName,
pl.Computer,
pl.Operator,
CASE WHEN (CHARINDEX('stack trace', pl.ErrorDescription) > 0) Then
SUBSTRING(pl.ErrorDescription, 0, CHARINDEX('stack trace', pl.ErrorDescription))
ELSE
pl.ErrorDescription
END as ErrorDescription
ISNULL(ErrorFile,'') as ErrorFile,
'Not Applicable' as SourceSystem
FROM etl.PackageLog as pl
WHERE pl.Processed = 0
ORDER BY pl.StartTime, pl.PackageName
FOR XML PATH('Row'), ROOT(N'FieldingCounts')
in a Execute SQL Task and i get the following error:
[Execute SQL Task] Error: Executing the query "SELECT pl.Id,
pl.StartTime,
pl.EndTime,
pl.Package..." failed with the following error: "An invalid character was found in text content.
". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly.
The query execute without problem in database and in the ssis package doens't run because of the column
CASE WHEN (CHARINDEX('stack trace', pl.ErrorDescription) > 0) Then
SUBSTRING(pl.ErrorDescription, 0, CHARINDEX('stack trace', pl.ErrorDescription))
ELSE
pl.ErrorDescription
END as ErrorDescription
Any help to overcome the problem?
ThanksHi,
It looks like that you must be trying to set the result of the query to some variable from the Execute SQL Task. If yes, make sure that the target variable is of the correct data type where XML string can fit into. Considering that in SSIS, we have
some limit for XML strings.
Please let me know if it doesn't help.
Thanks,
Nimit -
Passing the same input parameter twise in execute sql task
Hi All, I want to insert some values to 3 different tables in sql server. Execute sql task is used to populate three tables. Here is the sql statement.
DECLARE @Dt AS DATE
SET @Dt = ?
INSERT INTO TABLE1 SELECT ?, COL2, COL3 FROM TABLE_A
INSERT INTO TABLE2 SELECT ?, COL2, COL3 FROM TABLE_B
Input parameter is mapped as follows :
Variable name : User::EffectiveDate
Direction : Input Data Type :
Date Parameter name :0
Parameter size :-1
User::EffectiveDate is datetime variable.
When the package is executed, it throws an error.
[Execute SQL Task] Error: Executing the query " " failed with the following error: "Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done.". Possible failure reasons: Problems
with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly. I am not sure what I am doing wrong here. If anyone could point me to the right direction, I really appreciate.
Thanks
shamenTo expand on the other answers.
Your SQL command
DECLARE @Dt AS DATE
SET @Dt = ?
INSERT INTO TABLE1 SELECT ?, COL2, COL3 FROM TABLE_A
INSERT INTO TABLE2 SELECT ?, COL2, COL3 FROM TABLE_B
It using 3 input variables. I assume you didn't pass 3 variables and you want @DT to be column 1 in each. In that case you would use:
DECLARE @Dt AS DATE
SET @Dt = ?
INSERT INTO TABLE1 SELECT @Dt, COL2, COL3 FROM TABLE_A
INSERT INTO TABLE2 SELECT @Dt, COL2, COL3 FROM TABLE_B -
Using Union in Execute SQL Task
I am using the following SQL statement in an Excute SQL Task:
declare @RespAreaSubAreaID int, @UserLevelID int, @SubmittedByUserID int, @RespAreaID int, @SubAreaID int
Set @RespAreaSubAreaID = ?
Set @SubmittedByUserID = ?
Set @UserLevelID = ?
set @RespAreaID = ?
set @SubAreaID = ?
select users.User_EmailAddress + ';' As CC
from users inner join UserLevelsNotificationFrequencys on users.user_Id = UserLevelsNotificationFrequencys.User_id
where UserLevelID = @UserLevelID and RespAreaSubAreaID = @RespAreaSubAreaID and (NotificationFrequencyID = 4 and users.user_id <> @SubmittedByUserID)
union
select users.User_EmailAddress + ',' As CC
from users inner join UserLevelsNotificationFrequencys on users.user_Id = UserLevelsNotificationFrequencys.User_id
where UserLevelID = @UserLevelID and RespAreaSubAreaID = @RespAreaSubAreaID and (NotificationFrequencyID = 1)
I have my parameter mapped correctly. My results set is set to xml because I want it all in one string to use as a variable named User:CC. On the Result Set tab the result name is 0 and the variable name is User:CC. When I run my package I am getting
the error below. Can I not do a union query in the execute SQL task? I tried to not declare anything and just map to each of the variables that I am passing in the order that they are needed but that didn't work either. Thanks in advance for your help in this
matter.
[Execute SQL Task] Error: Executing the query "declare @RespAreaSubAreaID int, @NotificationID
in..." failed with the following error: "Syntax error, permission violation, or other nonspecific error". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection
not established correctly.
Reach for the unknown!Thank you for your reply but I am not using the Data Flow. All my work is happening on the Control Flow. I am looping through a set of records and emailing them to the correct
people. Setting my result set to XML worked for the To Line (See my earlier post Execute SQL task for Email ToLine using COALESCE and two variables) and now I am working on the CC line which is more complicated because it uses a union statement.
Reach for the unknown! -
Hi there,
I have this issue with my Execute SQL Task Failing. I am trying to execute a sp using an execute sql task. The execute statement is contained in a variable (exec [sp_name] par1, par2) that I have declared at the package level. Now inside the exec sql
tak, I am calling this variable. Now when I try to execute this task, it fails and I get the following:
[Execute SQL Task] Error: Executing the query "EXEC CTL_ISRT_A 55,1" failed with the following error: "Could not find stored procedure 'CTL_ISRT_A'.". Possible failure reasons: Problems with the query, "ResultSet" property not
set correctly, parameters not set correctly, or connection not established correctly.
There is a stored procedure called "CTL_ISRT_A" in the db and I am able to execute it from SQL Server. This sp is inserting a new row in the table and it returns @@IDENTITY.
I tried setting the result set to a 'Single Row' and tried assigning the value to a variable but it didnt help. Could someone help me here?
Thanks in advancereturn it as an output parameter
ie make sp like below
ALTER PROCEDURE [devdba].[M_CTL_ISRT]
@F_ID INT
, @PR_IND BIT
, @Debug bit = 0
, @IDVal int = 0 OUTPUT
AS
BEGIN
SET NOCOUNT ON
DECLARE @ErrorMsg varchar(5000)
DECLARE @USR_ID AS INT = 1;
INSERT INTO TBL_D (F_ID, PR_IND, USR_ID,CRE_DT, LAST_MODD_USR_ID, LAST_MODD_DT)
VALUES (@F_ID, @PR_IND, @USR_ID, GETDATE(), @USR_ID, GETDATE())
SELECT @IDVal= @@IDENTITY
END
Then in execute sql task call it as
EXEC devdba].[M_CTL_ISRT] ?,?,0,? OUT
then in parameter tab pass required variables and for last parameter make direction as Output and you'll get identify value stored in it.
Please Mark This As Answer if it helps to solve the issue Visakh ---------------------------- http://visakhm.blogspot.com/ https://www.facebook.com/VmBlogs -
Execute SQL Task fails when specific column names are mentioned in Excel Query
Hi,
I have a requirement for extracting Excel data with thespecific column order. So instead of using the below query,
Select * From [Sheet1$A1:ZZ1]
I use the below one,
Select col1,
col2,
col91
From [CRM$A1:ZZ1]
So I have totally 91 columns.
I don't face any issues when i use the before query. i.e. direct select * from sheet1
But when i specify column names and do a select from the sheet it throws error as below,
[Execute SQL Task] Error: Executing the query "Select
[Col1]
From [Sheet1$..." 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.
I just need to retrieve the column name alone and not any of the values to it. So when i do simple select * it gives the column names in the order of what it is been with the excel. But i do want it to be sorted in alphabetically and to retrieve the column
names.
I am not getting any proper solution for this for past 1 and a half days. May anyone of you please help me get it sorted? - Thank you!
--------------------------- Radhai Krish | Golden Age is no more far | --------------------------Please use something like below:
SELECT F1 AS Col1, F2 AS Col2, F3 AS Col3, ...
FROM [Sheet1$A1:ZZ1]
Cheers,
Vaibhav Chaudhari
[MCTS],
[MCP] -
Execute SQL task for Email ToLine using COALESCE and two variables
Hello...
I am converting an old DTS package to SSIS. The old package consist of mostly ActiveX Script so I am breaking it down into steps. Basically... I am retreving a set of records that need to be sent via email to multiple people. In my package to create
my ToLine for the Send Mail Task I am using several steps. Frist I am using:
SELECT CASE
WHEN EXISTS ( SELECT users.User_EmailAddress
FROM dbo.Errors INNER JOIN
dbo.Users ON users.user_id = Errors.MonitorAuditor_User_Id
WHERE ([Audit_Id] = ?) AND ([ErrorCode_Id] = ?) ) THEN
1
ELSE
0
END AS ValidEventID
I use this to see if there is any records to create my email string. This works fine. After this I have a Script Task that splits my pipe in two. When no records exist (User::ValidEventID == 0) I am loging that event to a log. When records do exist
I am using another Execute SQL task to create the actual ToLine:
Declare @combinedString VARCHAR(max)
SELECT @combinedString = COALESCE(@combinedString + ', ', '') + Users.User_EmailAddress
FROM dbo.Errors INNER JOIN
dbo.Users ON users.user_id = Errors.MonitorAuditor_User_Id
WHERE ([Audit_Id] = ?) AND ([ErrorCode_Id] = ?)
SELECT convert(varchar(4000),@combinedString) as StringValue
I have my resultSet set to Single Row. I have two variables coming if for the Audit_Id and ErrorCode_Id. My Result Set is set to a Variable: User::EmailAddressString.
Next it goes through a foreach loop to map to the ToLine email variable that I created named User:User_EmailAddress.
Then I am using that in my Send Email Task.
It all works fine when I hard code my variables into the COALESCE statement but as soon as I replace that with the ? that SSIS requires for variables I am getting the following error:
[Execute SQL Task] Error: Executing the query "Declare @combinedString VARCHAR(max)
SELECT ..." failed with the following error: "Syntax error, permission violation, or other nonspecific error". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly,
parameters not set correctly, or connection not established correctly.
I have tried changing my resultset property, I have checked my paramenters and my connection. I don't understand why it works fine when I have my varaiables hard coded but not when I change them to the ?.
Thanks in advance for you help in this matter.
Reach for the unknown!Katherine... that did not work.
What I ended up doing was taking out the forloop all together. In my Execute SQL Task I changed the result set from single row to XML. I took out the COALESCE statement and just went for something more basic:
select users.User_EmailAddress + ';' as User_EmailAddress from Errors inner join users on users.user_id = Errors.MonitorAuditor_User_Id WHERE ([Audit_Id] = ? AND [ErrorCode_Id] = ?)
Currently I am just logging the string to a text file so I can see the results. In my text file the string is surrounded by <ROOT></ROOT>. So I will next I will work on triming that off the string and then populate my Send Mail Task.
This is how I trimed off the <ROOT></ROOT>:
Dts.Variables(
"EmailAddressString").Value = Replace(Dts.Variables("EmailAddressString").Value,
"<ROOT>",
Dts.Variables(
"EmailAddressString").Value = Replace(Dts.Variables("EmailAddressString").Value,
";</ROOT>",
Thanks again everyone for the help!
Reach for the unknown! -
How to use a parameter in an Execute SQL Tasks in SSDT executed against Netezza
Good Evening,
How can I pass a parameter in an Execute SQL Tasks in SSDT executed against Netezza? Below are my settings and error message.
[Execute SQL Task] Error: Executing the query ""TRUNCATE TABLE" ?"_POC..JOHN_TEST"" failed with the following error: "Syntax error or access violation". Possible failure reasons: Problems with the query, "ResultSet"
property not set correctly, parameters not set correctly, or connection not established correctly.
Thank you in advance for your assistance.
BrettHi Baloun,
Based on my further research, just as you said, we cannot directly use table name as a variable.
To fix this issue, we can change the SQL command in the SQLStatement property as below:
declare @sql varchar(100)
set @sql = 'TRUNCATE TABLE ' + ? +'_POC..JOHN_TEST'
exec(@sql)
go
The Parameter Mapping pane use the former settings in your picture.
Reference:
http://www.bidn.com/blogs/kylewalker/ssis/2063/parameters-don-t-always-work-in-your-execute-sql-task
If there are any other questions, please feel free to ask.
Thanks,
Katherine Xiong
Katherine Xiong
TechNet Community Support -
I executed a simple query inside an execute SQL task -
SELECT col1, col2
from thetable
where code = ?
order by id asc
Exec sql task - ADO.NET connection
parameter "code" is an int32 in SSIS and int32 in parameter mapping of exec sql task.
It works fine in SQL server, but in SSIS it causes the error -
[Execute SQL Task] Error: Executing the query "SELECT col1, col2
from thet..." failed with the following error: "Failed to create an IDataAdapter object. This provider may not be fully supported with the Execute SQL Task. Error message 'Incorrect syntax near '?'.'.". Possible failure reasons: Problems with
the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly.
How do I fix this error ?Thanks. I think it was sqlclient. I changed it to OLEDB to avoid that issue. Btw, what is this "provider" ?
Hi blastoSO,
To check which provider is used by the current ADO.NET Connection Manager, you can open the “Configure ADO.NET Connection Manager” window, and check the “Managed Provider” option of each Data connection.
In an Execute SQL Task, if the managed provider is “System.Data.SqlClient”, we should use the rule for the ADO.NET connection type in the following table. If the managed provider is “System.Data.Oledb” or “System.Data.Odbc”, it actually uses the OLE DB provider
or ODBC provider, so we should use the rule for the OLE DB or OBC rule in the following table:
Reference:
http://technet.microsoft.com/en-us/library/cc280502.aspx
Regards,
Mike Yin
TechNet Community Support
Maybe you are looking for
-
Error message from Trend protection software about a dangerous page.
Every time I open Firefox lately I get an warning from trend protection software that I'm tying to go to a dangerous page. The warning shows as I exiting Firefox. The address is always a very long string of characters.
-
Posting a goods Receipts by using 'BAPI_GOODSMVT_CREATE'
Hi experts, For a Handling Unit number, im Posting a goods Receipts by using 'BAPI_GOODSMVT_CREATE' Im passing the below values to the BAPI, to create a Material document and transfer order. GOODSMVT_HEADER- PSTNG_DATE (System Date) GOODSMVT_HEADER -
-
Wierd problem with BlackBerry FLIP
So last night I but my Pearl to charge. When the battery is to low the phone won't really trun on, but I needed to browse some e-mails. I turned on the phone but when I tried to use the browser it gave me an error stating that the radio antena is off
-
Disable / Turn off Thumbnail / Icon Preview in Finder?
Can't find any new/recent posts to solve this issue. I want to disable/turn-off the little icon preview in finder. I have to access a lot of images on a server at work. Image files(jpeg, eps, tiff, psd, ai, ect) that are typically 50MB and higher. So
-
Re-wiring external cable from "junction box" to wa...
Hi everyone, Newbie here. Some time ago I had my wood front door and frame replaced by a uPVC one. This has resulted in the telephone cable being revealed - it can no longer be hidden behind the door frame. It would be neater for the cable to be re-r