SSIS Error on opening a package: The connection “{GUID}” is not found. The error is thrown by connections collection when the specific connection element is not found

Standard

In my case, This error came up in SSIS after some copy-pasting happened in our TFS. I tried opening a package & it gave the “The connection {GUID} is not found…” error. So here’s how I was able to solve it:

1. After I got the latest version of files, I navigated to the Integration Services package file on my local machine.

2. Opened the  file in notepad to look at XML.

3. After I was able to see the XML code, I searched for the connection GUID “xyz…” that was showing up in the error

4. Now, once you locate the GUID, figure out the package component that the connection is being used. In my case it was a “Execute SQL Task”

5. I then opened my package and fixed the connection in the Task.

That’s about it for this post. I hope this helps someone out there.

Advertisements

What is Serialization? May be Star Trek analogy could help..

Standard

I recently played with XML serialization:

1

In super simple terms, (one of the) aim of serialization is to convert an object (not a class) that can be transported.

There are two processes that are attached to Serialization viz. deserializing and serializing AND to understand that – let’s draw an analogy with star trek:

Remember Transporter?

image

Source: http://en.wikipedia.org/wiki/Transporter_%28Star_Trek%29

Transporters convert a person or object or matter into an energy pattern –> then “beam” it to a target –> where it is reconverted into matter

In programmer’s world:

Serialization equals “convert a person or object or matter into an energy pattern”

Deserialization equals “where it is reconverted into matter”

Technical (accurate) Definition from Wikipedia:

In computer science, in the context of data storage and transmission, serialization is the process of converting a data structure or object state into a format that can be stored (for example, in a file or memory buffer, or transmitted across a network connection link) and “resurrected” later in the same or another computer environment

 Let’s Simplify that!

we need to serialize the object when 1) an object is to be sent over the network 2) state of an object is to be saved.

Moral of the story

To send an object via network, it is serialized.

After it’s received, to recover it, it is deserialized.

Now let’s get into action!

I am familiar with .Net framework– so I am going to share a demo code for XML serialization (serializing + deserializing) with you.

Here’s the class definition (person.cs). Just a simple object for demo purpose:


using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace XMLSerialization

{

class person

{

static void Main(string[] args)

{

}

public class person

{

private string _firstname, _lastname, _twitter;

public person()

{

_firstname = "";

_lastname = "";

_twitter = "";

}

public string firstname

{

get { return _firstname; }

set { _firstname = value; }

}

public string lastname

{

get { return _lastname; }

set { _lastname = value; }

}

public string twitter

{

get { return _twitter; }

set { _twitter = value; }

}

}

}

}

Code for Serializing an object:


class Program

{

static void Main(string[] args)

{

person personone = new person();

personone.firstname = "paras";

personone.lastname = "doshi";

personone.twitter = "@paras_doshi";

Console.WriteLine("serializing....");

XmlSerializer serializer = new XmlSerializer(typeof(person));

string path = ".\\filename.xml";

FileStream fs = File.OpenWrite(path);

XmlTextWriter writer = new XmlTextWriter(fs,System.Text.Encoding.UTF8);

writer.Formatting = Formatting.Indented;

try

{

serializer.Serialize(writer, personone);

}

finally

{

writer.Close();

}

Console.WriteLine("Serialization: Done!");

}

}

Code to deserialize an object:


Console.WriteLine("Deserialization.....");

XmlSerializer serializer = new XmlSerializer(typeof(person));

string path = ".\\filename.xml";

FileStream fs = File.OpenRead(path);

person deserializeperson;

try

{

deserializeperson = (person)serializer.Deserialize(fs);

}

finally

{

fs.Close();

}

Console.WriteLine("Person info:");

Console.WriteLine("First Name: {0}", deserializeperson.firstname);

Console.WriteLine("Last Name: {0}", deserializeperson.lastname);

Console.WriteLine("Twitter: {0}", deserializeperson.twitter);

reference: http://msdn.microsoft.com/en-us/library/182eeyhh%28v=vs.71%29.aspx

BTW,
I hope that STAR TREK helped!