SSIS: migration of a SSIS script: "binary code not found"

  • Hello everybody,

    in short:

    I need help exporting an SSIS from a 2008 R2 SQL Server and re-import it into a SQL 2012.

    I have inherited an SQL 2008 R2 Server running two SSIS packages. I have both as .dtsx files and & a manifest to install.

    The task at hand is now to migrate those to a new SQL 2012 server.

    [There is also an IIS running on that machine and project-specific .dll and stuff within the IIS document root. I do not know if these .dlls relate to the IIS web page or to the SQL .dtsx) But the migrated web site runs fine].

    Installation of the packages into the MSDB works out flawlessly and one of the scripts runs fine, but the other fails to run with the error:

    "Error: the binary code for the script is not found. Please open the script in the designer by clicking Edit Script button and make sure it builds successfully."

    Google tell me something about a "Pre-compile option"-setting on server as explained here. I can not find this option setting anywhere in SSMS. Also as the migration is from 2008 R2 -> 2012 this should not be relevant as in both versions pre-compilation should be automatic, right?

    Lets try to figure out if I can compile something to make my SSIS happy.

    As I am not a developer, please forgive me sounding a bit stupid here probably.

    - I installed visual studio 2013 community

    - I installed SSDTBI

    - Start the "Integration Services Import Project Wizard"

    to import the SSIS directly from the "Integration Services Catalog"

    However, things don't quite work very well - Trying to import (from the locally installed SQL instance) it will not display the tree of SSIS stuff, but only the root directory.

    I have no ide why.

    So importing directly from the running system won't work. Let's see if we can get somewhere with the .dtsx

    As I _do_ actually have the .dtsx files here, why not open them up directly in Visual studio and try to get compiled whatever needs to be compiled.

    I create a new "integration Services" Project and open up the .dtsx into this project. ==> LOTS of errors of all kind.

    (The job of this script is to fetch messages from an Exchange.)

    But opening up this specific bit of code doesn't help a bit - there is no binary code in it and I have no idea how to reate it or where to get it from...

    Anyone have any idea?

    Any hints or tipps are apprechiated! Thanks very much!

  • Sometimes, this can be fixed simply by opening up script task or transform to edit it, and then saving it without making any changes.

    I believe this triggers a recompile and solves the problem.



    Alvin Ramard
    Memphis PASS Chapter[/url]

    All my SSC forum answers come with a money back guarantee. If you didn't like the answer then I'll gladly refund what you paid for it.

    For best practices on asking questions, please read the following article: Forum Etiquette: How to post data/code on a forum to get the best help[/url]

  • every time I've gotten the old binary script not found error, it was because a script task was syntactically incorrect; i edited it, and forgot a semi colon, or deleted a variable declaration, or something basic that prevents the code from compiling correctly.

    opening up the script task and checking it will usually point to the issue int he error list.

    Lowell


    --help us help you! If you post a question, make sure you include a CREATE TABLE... statement and INSERT INTO... statement into that table to give the volunteers here representative data. with your description of the problem, we can provide a tested, verifiable solution to your question! asking the question the right way gets you a tested answer the fastest way possible!

  • Hello,

    thanks for your help so far.

    I have found the problem: in a number of scripts within the .dtsx, the references to libraries were broken.

    The developers did forget to mention that the project requires a couple of specific DLLs - a Microsoft as well as a self-made one. 🙂

    I just added all missing references in all scripts where they were missing, built all scripts and then the complete package and re-importet it into SSIS and voilá - works perfectly 🙂 (Yes I know, this might be trivial to you - but I am not a developer, so it took me quite a while to understand everything).

    So whenever someone encounters this error ever again - look out for broken references in your scripts:

    Thanks for the help everybody!

  • Well, well... it's not all as shiny as it did seem to be:

    - The .dtsx runs quite fine on the SQL 2008 R2.

    - Imported the .dtsx into SQL 2013, corrected all dependencies as last postings show. -> "debug" in Visual studio completes without errors, but after deploying in SSMS it fails with "Task Read Message from Exchange has failed".

    All configuration around is the same.

    Where is the difference? I assume that in Visual studio the debugging doesn't really include setting up a real connection to an Exchange.

    SSIS-logging doesn't really help - this is the relevant part dealing with the Exchange connector that I get - with all events being logged:

    OnPreExecute,P04,P04\root,ReadMessageFromExchange,{EB91033B-C78A-434E-BEBC-644292121A54},{80D264C2-1D85-4732-A4E7-762F70FD79EC},7/8/2015 3:48:03 PM,7/8/2015 3:48:03 PM,0,0x,

    OnPreValidate,P04,P04\root,ReadMessageFromExchange,{EB91033B-C78A-434E-BEBC-644292121A54},{80D264C2-1D85-4732-A4E7-762F70FD79EC},7/8/2015 3:48:03 PM,7/8/2015 3:48:03 PM,0,0x,

    OnPostValidate,P04,P04\root,ReadMessageFromExchange,{EB91033B-C78A-434E-BEBC-644292121A54},{80D264C2-1D85-4732-A4E7-762F70FD79EC},7/8/2015 3:48:03 PM,7/8/2015 3:48:03 PM,0,0x,

    OnError,P04,P04\root,ReadMessageFromExchange,{EB91033B-C78A-434E-BEBC-644292121A54},{80D264C2-1D85-4732-A4E7-762F70FD79EC},7/8/2015 3:48:03 PM,7/8/2015 3:48:03 PM,1,0x,Exception has been thrown by the target of an invocation.

    Is there a way to get a bit more specific loggin such as really what happens in the communication to the Exchange?

    Or is there a way to run this in visual studio (I assume the normal "Debug" does not really set up an Exchange connection)?

Viewing 5 posts - 1 through 5 (of 5 total)

You must be logged in to reply to this topic. Login to reply