Solved

SSIS - Execute SQL task

Posted on 2014-01-14
5
454 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
5 Comments
 
LVL 65

Expert Comment

by:Jim Horn
Comment Utility
>(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
Comment Utility
>(it turns to red color) means, it doesnt run
0
 

Author Comment

by:ocdc
Comment Utility
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
Comment Utility
SSIS Execute SQL Task is used to run SQL commands, you supplied a VBScript function.
0
 
LVL 1

Expert Comment

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

Featured Post

Better Security Awareness With Threat Intelligence

See how one of the leading financial services organizations uses Recorded Future as part of a holistic threat intelligence program to promote security awareness and proactively and efficiently identify threats.

Join & Write a Comment

SQL Server engine let you use a Windows account or a SQL Server account to connect to a SQL Server instance. This can be configured immediatly during the SQL Server installation or after in the Server Authentication section in the Server properties …
Slowly Changing Dimension Transformation component in data task flow is very useful for us to manage and control how data changes in SSIS.
Illustrator's Shape Builder tool will let you combine shapes visually and interactively. This video shows the Mac version, but the tool works the same way in Windows. To follow along with this video, you can draw your own shapes or download the file…
Polish reports in Access so they look terrific. Take yourself to another level. Equations, Back Color, Alternate Back Color. Write easy VBA Code. Tighten space to use less pages. Launch report from a menu, considering criteria only when it is filled…

772 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

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now