Solved

SSIS - Execute SQL task

Posted on 2014-01-14
5
461 Views
Last Modified: 2016-02-10
I have the following script that I am using in Execute SQL Task box in SSIS package but I am getting  an error.(it turns to red color).   Thank you for your help.

Function Main()
  Dim oConn, oRs, oCmd

  '** Create ADO objects
  Set oConn = CreateObject("ADODB.Connection")
  Set oRs = CreateObject("ADODB.Recordset")
  Set oCmd = CreateObject("ADODB.Command")

  '** Set DAO connection properties
  oConn.Open "Driver={SQL Server};Server=test;Database=OCDC;user;Pwd=password;"
   
  '** Set the active connection to the target database ADO Object
  oCmd.ActiveConnection = oConn
'  oCmd.CommandType = adCmdText

  '** Prepare the SQL statement for retrieving a unique task id
  sSQL = "SELECT Count(*) as NumRecords FROM ActiveDirectoryUsers"

  '** Execute the SQL statement and retrieve the data
  Set oRs = oConn.Execute(sSQL)

  '** Move the data set cursor to the first record
  If Not(oRs.EOF and oRs.BOF) Then
    oRs.MoveFirst
  End If

  If oRs.Fields("NumRecords") = 0 Then
    Main = DTSTaskExecResult_Failure
  Else
    Main = DTSTaskExecResult_Success
  End If
0
Comment
Question by:ocdc
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
5 Comments
 
LVL 66

Expert Comment

by:Jim Horn
ID: 39780149
>(it turns to red color).
Define 'it', and post the first error message that appears in the Progress tab when it is executed.

>sSQL = "SELECT Count(*) as NumRecords FROM ActiveDirectoryUsers"
You could also add this in a Data Flow as a source, then have a Row Count after it which reads the row count and sets the return value to a parameter.  Then make all the green arrows after that conditional based on 'IF @row_count == 0'
0
 

Author Comment

by:ocdc
ID: 39780163
>(it turns to red color) means, it doesnt run
0
 

Author Comment

by:ocdc
ID: 39780166
I just need to know what I need to change in the above script to be able to execute it.

P.S. The above script is ActiveX vbs and it doesnt execute  on SQl server 2008 r2 after setting it up as a Job to run.

Thank you.
0
 
LVL 11

Accepted Solution

by:
John_Vidmar earned 500 total points
ID: 39780208
SSIS Execute SQL Task is used to run SQL commands, you supplied a VBScript function.
0
 
LVL 1

Expert Comment

by:kevwit
ID: 39822651
That code won't work in a SQL Task component. You could use it in a Script Component.
0

Featured Post

Online Training Solution

Drastically shorten your training time with WalkMe's advanced online training solution that Guides your trainees to action. Forget about retraining and skyrocket knowledge retention rates.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In this article we will get to know that how can we recover deleted data if it happens accidently. We really can recover deleted rows if we know the time when data is deleted by using the transaction log.
Real-time is more about the business, not the technology. In day-to-day life, to make real-time decisions like buying or investing, business needs the latest information(e.g. Gold Rate/Stock Rate). Unlike traditional days, you need not wait for a fe…
Do you want to know how to make a graph with Microsoft Access? First, create a query with the data for the chart. Then make a blank form and add a chart control. This video also shows how to change what data is displayed on the graph as well as form…
Sometimes it takes a new vantage point, apart from our everyday security practices, to truly see our Active Directory (AD) vulnerabilities. We get used to implementing the same techniques and checking the same areas for a breach. This pattern can re…

635 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question