2016-07-21 6 views
0

Ich arbeite an einem Projekt .. und ich muss einen PubMedDisambiguation_GetPubs.job ausführen. Der Auftrag wird scheitern, weil der Job-Skript einen PfadDTS-Ordner fehlt in Microsoft SQL Server

C:\Program Files\Microsoft SQL Server\100\DTS\Binn\DTEXEC.EXE 

enthält, aber wenn ich meine SQL-Server-Ordner überprüft gibt es keinen Ordner mit dem Namen DTS, BINN zur Verfügung, und auch DTExec.exe ist nicht verfügbar.

um den Job zuerst auszuführen musste ich eine PubMedDisambiguation_GetPubs.dtsx Datei in SSIS hinzufügen, ich habe das hinzugefügt und danach führe ich die unten angegebene Abfrage um den Job zu erstellen (PubMedDisambiguation_GetPubs) .. Der Job wurde erfolgreich erstellt, aber wenn ich laufe es mir Fehler geben:

The process could not be created for step 1 of job 0x2803DE2628DAC647946CFAD44DCFF854 
(reason: The system cannot find the file specified). The step failed. 

Kann mir jemand helfen. hier ist der Code für diesen Job:

USE [msdb] 
GO 

/****** Object: Job [PubMedDisambiguation_GetPubs] Script Date:  07/21/2016 13:19:18 ******/ 
BEGIN TRANSACTION 
DECLARE @ReturnCode INT 
SELECT @ReturnCode = 0 
/****** Object: JobCategory [[Uncategorized (Local)]]] Script Date: 07/21/2016 13:19:18 ******/ 
IF NOT EXISTS (SELECT name FROM msdb.dbo.syscategories WHERE  name=N'[Uncategorized (Local)]' AND category_class=1) 
BEGIN 
EXEC @ReturnCode = msdb.dbo.sp_add_category @class=N'JOB', @type=N'LOCAL', @name=N'[Uncategorized (Local)]' 
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback 

END 

    DECLARE @jobId BINARY(16) 
EXEC @ReturnCode = msdb.dbo.sp_add_job  @job_name=N'PubMedDisambiguation_GetPubs', 
    @enabled=1, 
    @notify_level_eventlog=0, 
    @notify_level_email=0, 
    @notify_level_netsend=0, 
    @notify_level_page=0, 
    @delete_level=0, 
    @description=N'No description available.', 
    @category_name=N'[Uncategorized (Local)]', 
    @owner_login_name=N'App_Profiles10', @job_id = @jobId OUTPUT 
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback 
/****** Object: Step [PubMedDisambiguation_GetPubs.dtsx] Script Date: 07/21/2016 13:19:18 ******/ 
EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @[email protected], @step_name=N'PubMedDisambiguation_GetPubs.dtsx', 
    @step_id=1, 
    @cmdexec_success_code=0, 
    @on_success_action=1, 
    @on_success_step_id=0, 
    @on_fail_action=2, 
    @on_fail_step_id=0, 
    @retry_attempts=0, 
    @retry_interval=0, 
    @os_run_priority=0, @subsystem=N'CmdExec', 
    @command=N'C:\Program Files\Microsoft SQL Server\100\DTS\Binn\DTEXEC.EXE /SQL "\PubMedDisambiguation_GetPubs" /SERVER MSKAN\SQL2008 /MAXCONCURRENT " -1 " /CHECKPOINTING OFF /SET "\Package.Variables[ServerName].Value";MSKAN\SQL2008 /SET "\Package.Variables[DatabaseName].Value";ProfilesRNS /REPORTING E', 
    @flags=0 
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback 
EXEC @ReturnCode = msdb.dbo.sp_update_job @job_id = @jobId, @start_step_id = 1 
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback 
EXEC @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @jobId, @server_name = N'(local)' 
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback 
COMMIT TRANSACTION 
GOTO EndSave 
QuitWithRollback: 
IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION 
EndSave: 

GO 
+1

Vielleicht schlägt dieser Befehl fehl: '@ command = N'C: \ Programme \ Microsoft SQL Server \ 100 \ DTS \ Binn \ DTEXEC.EXE/SQL" \ PubMedDisambiguation_GetPubs "/ SERVER MSKAN \ SQL2008/MAXCONCURRENT" -1 "/ CHECKPOINTING OFF/SET" \ Paket.Variablen [ServerName] .Value "; MSKAN \ SQL2008/SET" \ Paket.Variablen [Databa seName] .Value "; ProfilesRNS/REPORTING E ',' – Hackerman

+0

ya, ich weiß, weil der DTS-Ordner nicht verfügbar ist, wissen Sie, wie wir dieses DTS-Paket installieren können? –

+1

Erstellen Sie einen Skript-Task, der prüft, ob der Ordner existiert .... Falls nicht, nehmen Sie an, dass Sie in einem Intranet arbeiten, erstellen Sie das Verzeichnis und kopieren Sie das Programm DTEXEC.EXE, bevor Sie den Job erstellen ... – Hackerman

Antwort

0

Auf den meisten Produktionsservern die Installation von Services und Software auf einem separaten Laufwerk vom Betriebssystem ist.

Also statt

Program Files\Microsoft SQL Server\100\DTS\Binn\DTEXEC.EXE 

Werfen Sie einen Blick für die Software auf d:/oder e:/

Haben Sie eine andere Version von SQL Server haben, die bedeutet, dass Sie für den Pfad suchen müssen 110 oder 120

Verwandte Themen