Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在SSIS和C#语言中使用脚本任务,如何转换创建文件的DTS ActiveX脚本,然后附加完整的文件名_C#_Ssis_Activex_Dts - Fatal编程技术网

在SSIS和C#语言中使用脚本任务,如何转换创建文件的DTS ActiveX脚本,然后附加完整的文件名

在SSIS和C#语言中使用脚本任务,如何转换创建文件的DTS ActiveX脚本,然后附加完整的文件名,c#,ssis,activex,dts,C#,Ssis,Activex,Dts,我正在尝试将DTS进程转换为SSIS,我希望转换一个DTS脚本任务,该任务创建3个文件(只有在有数据要写入时才创建文件),然后将完整文件名附加到变量,然后将该变量复制到全局变量。由于我是新手,我想一步一步的演示,如果可能的话,请,请,请帮助…谢谢。下面是创建两个而不是三个文件的DTS脚本示例: Function Main() DIM dbConnection, rsGetFileDetails, rsGetInfo DIM fsoFileSystem, fExportFile DIM sGrou

我正在尝试将DTS进程转换为SSIS,我希望转换一个DTS脚本任务,该任务创建3个文件(只有在有数据要写入时才创建文件),然后将完整文件名附加到变量,然后将该变量复制到全局变量。由于我是新手,我想一步一步的演示,如果可能的话,请,请,请帮助…谢谢。下面是创建两个而不是三个文件的DTS脚本示例:

Function Main()
DIM dbConnection, rsGetFileDetails, rsGetInfo
DIM fsoFileSystem, fExportFile
DIM sGroupCode, sSequenceNumber, sFileIdentifier, FileName
DIM sLineItem, sAttachmentPaths
DIM  FileLocation
sAttachmentPaths = ""
FileLocation = DTSGlobalVariables("FileDestPath").Value

'****************************************************
'*********Connect to Database******************
'****************************************************
SET dbConnection = CreateObject( "ADODB.Connection" )
dbConnection.Provider = "sqloledb"
dbConnection.Properties("Data Source").Value = "Server"
dbConnection.Properties("Initial Catalog").Value = "Database"
dbConnection.Properties("Integrated Security").Value = "1234"
dbConnection.Open 

'*******************************************************************
'***********GET TRACE ALERT DELIST DATA************
'*******************************************************************


SET fsoFileSystem = CreateObject( "Scripting.FileSystemObject" )
SET rsGetInfo = CreateObject( "ADODB.recordset" )


sql =  "SELECT     tblExample1.IDNumber, tblExample2.First_Name, tblExample3.Main_Name FROM         tblExample1 INNER JOIN tblExample2 ON tblExample1.IDNumber = tblExample2.Entity_ID_Number WHERE     (tblExample1.IDNumber = '2') AND (Process_Date IS NULL)"

rsGetInfo.Open sql, dbConnection
IF rsGetInfo.EOF THEN
ELSE

FileName = "MyFileName_" & Replace( Date() , "/" , "")
'//Create the file
SET fExportFile = fsoFileSystem.CreateTextFile( FileLocation & FileName & ".txt", true )
DTSGlobalVariables("FileLocation").Value =  FileLocation & FileName & ".txt"    

    rsGetInfo.MoveFirst
    DO WHILE NOT  rsGetInfo.EOF OR rsGetInfo.BOF
        sLineItem = ""
        sLineItem = rsGetInfo("IDNumber") & vbtab & rsGetDelistInfo("First_Name") & vbtab & rsGetInfo("Main_Name")

        fExportFile.Write(sLineItem & vbcrlf)

        rsGetInfo.MoveNext
    LOOP
    '// Set Attachment Path     
    sAttachmentPaths = FileLocation & FileName & ".txt" 
END IF


'*******************************************************************
'***********GET DEFAULT DELIST DATA************
'*******************************************************************


SET fsoFileSystem = CreateObject( "Scripting.FileSystemObject" )
SET rsGetInfo = CreateObject( "ADODB.recordset" )


sql =  "SELECT     Contract_No FROM      tblfunny WHERE     (funnyNumb = 1) and (Process_Date IS NULL)"

rsGetInfo.Open sql, dbConnection

IF rsGetInfo.EOF THEN
ELSE

    FileName = "MyFileName_" & Replace( Date() , "/" , "")
    '//Create the file
    SET fExportFile = fsoFileSystem.CreateTextFile(  FileLocation & FileName & ".txt", true )
    DTSGlobalVariables("FileLocation").Value =  FileLocation & FileName & ".txt"    
    rsGetInfo.MoveFirst

    DO WHILE NOT  rsGetInfo.EOF OR rsGetInfo.BOF
        sLineItem = ""
        sLineItem = rsGetInfo("Contract_No")

        fExportFile.Write(sLineItem & vbcrlf)

        rsGetInfo.MoveNext
    LOOP
    '// Set Attachment Path
    IF sAttachmentPaths = "" THEN
        sAttachmentPaths = FileLocation & FileName & ".txt"
    ELSE
        sAttachmentPaths = sAttachmentPaths & "; "& FileLocation & FileName & ".txt"
    END IF
END IF
Main = DTSTaskExecResult_Success 

End Function

我不想无济于事,但你不能指望人们只是为你重新编写代码。另一方面,如果你已经尝试自己做了,但是你遇到了特定的编码问题或错误消息,那么你当然可以发布它们,这样人们可以提供建议。我添加了代码,这样可以提供更好的图片。我确实尝试了一种方法,使第一部分工作,但我不知道如何创建第二个文件?获取默认的退市数据…我使用了一个脚本任务来设置文件名,然后是一个文件系统任务来复制文件和数据泵,来泵送该文件中的数据,第一个任务向该文件添加三个列,但问题是第二个任务使用相同的平面文件和平面文件连接,并且只复制一个列。这将附加在第一个中填充的其余数据,并且只添加一个冒号…“合同号”。没有截图很难解释,但我希望可以理解……如果你还在,你想解决的问题是什么?我看到了您希望完成的步骤,但在不了解问题的全部范围的情况下,我不愿意提供答案。Hi billinkc,我已经解决了问题,不再需要解决方案。不过还是要谢谢你:)