converting vbs to vb.net

I need to convert the following vbs code that is currently used as  ActiveX  Script in SSIS package  to vb.net to use in SSIS package as Script Task.

It runs fine on SQL server 2005 but on SQL server 2008 I get the following error:

Error:user script threw an exception" "An error occured while adding the managed SSIS type library to the script host. Verify that the DTS 2000 runtime is installed."

So to get it run on SQL server 2008,  I need to convert it to VB.NET to rewrite it as script Task instead of ActiveX  script.

Thank you.


'**  Script Name..: xCheckForRecordsDTS.vbs 
'**                                           
'*********************************************************************** 

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=myserver;Database=mydatabase;Uid=test;Pwd=test1;"
    
  '** 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

  '** Close object handle 
  oConn.Close 
End Function 

Open in new window

ocdcAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
Rainer JeschorConnect With a Mentor Commented:
Hi,
just a dumb question, but your ActiveX script just executes a SQL command to check the result.
Why don`t you use a "Execute SQL Task" in your control flow and then raising the error if no result / number == 0 ?

Thanks.
Rainer
0
 
Éric MoreauSenior .Net ConsultantCommented:
you should really use a SQL topic because SSIS really is SQL and you don't always need .Net to achieve what you want
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.