SSIS Import Multiple Files and Create Tables





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}







0















I'm using SSIS and am importing multiple (30) txt files. I create the table on the fly using the file name of the txt file and creating the columns based on the first row from the txt file - all this works. My code stops working when an apostrophe ' is in one of the fields.



The files are delimitated using a |



My code:



SqlConnection myADONETConnection = new SqlConnection();
myADONETConnection = (SqlConnection)(Dts.Connections["xxxxxxxxxxxxxx"].AcquireConnection(Dts.Transaction) as SqlConnection);


string line1 = "";
//Reading file names one by one
string SourceDirectory = @"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
string fileEntries = Directory.GetFiles(SourceDirectory);
foreach (string fileName in fileEntries)
{
// do something with fileName
string columname = "";

//Reading first line of each file and assign to variable
System.IO.StreamReader file2 =
new System.IO.StreamReader(fileName);

string filenameonly = ((((fileName.Replace(SourceDirectory, "")).Replace(".txt", "")).Replace("\", "")).Replace("-", "_"));
line1 = (" IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo]." + filenameonly + "') AND type in (N'U'))DROP TABLE [dbo]." + filenameonly + " Create Table dbo." + filenameonly + "([" + file2.ReadLine().Replace("|", "] NVARCHAR(500),[") + "] NVARCHAR(500))").Replace(".txt", "");

file2.Close();

SqlCommand myCommand = new SqlCommand(line1, myADONETConnection);
myCommand.ExecuteNonQuery();

MessageBox.Show("TABLE IS CREATED");

//Writing Data of File Into Table
int counter = 0;
string line;

System.IO.StreamReader SourceFile =
new System.IO.StreamReader(fileName);
while ((line = SourceFile.ReadLine()) != null)
{

if (counter == 0)
{
columname = line.ToString();
columname = "[" + columname.Replace("|", "],[") + "]";
}

else
{
string query = "Insert into dbo." + filenameonly + "(" + columname + ") VALUES('" + line.Replace("|", "','") + "')";
SqlCommand myCommand1 = new SqlCommand(query, myADONETConnection);
myCommand1.ExecuteNonQuery();
}

counter++;
}

SourceFile.Close();


The offending line is:



string query = "Insert into dbo." + filenameonly + "(" + columname + ") VALUES('" + line.Replace("|", "','") + "')";


I tried amending to the below to replace the apostrophe to no avail:



string query = "Insert into dbo." + filenameonly + "(" + columname + ") VALUES('" + line.Replace("|", "','") + line.Replace("'''", "") + "')";

string query = "Insert into dbo." + filenameonly + "(" + columname + ") VALUES('" + line.Replace("'", "") + "')";


Also nesting the replace does not work:



string query = "Insert into dbo." + filenameonly + "(" + columname + ") VALUES('" + line.Replace(line.Replace("'''", ""),"|" ) + "')";


The below does not import anything:



string query = "Insert into dbo." + filenameonly + "(" + columname + ") VALUES('" + line.Replace("|", "','").Replace("'", "") + "')";


Changing to the below imports all but then fails over at the line with the apostrophe:



string query = "Insert into dbo." + filenameonly + "(" + columname + ") VALUES('" + line.Replace("|", "','").Replace("'''", "") + "')";


What am I missing?










share|improve this question































    0















    I'm using SSIS and am importing multiple (30) txt files. I create the table on the fly using the file name of the txt file and creating the columns based on the first row from the txt file - all this works. My code stops working when an apostrophe ' is in one of the fields.



    The files are delimitated using a |



    My code:



    SqlConnection myADONETConnection = new SqlConnection();
    myADONETConnection = (SqlConnection)(Dts.Connections["xxxxxxxxxxxxxx"].AcquireConnection(Dts.Transaction) as SqlConnection);


    string line1 = "";
    //Reading file names one by one
    string SourceDirectory = @"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
    string fileEntries = Directory.GetFiles(SourceDirectory);
    foreach (string fileName in fileEntries)
    {
    // do something with fileName
    string columname = "";

    //Reading first line of each file and assign to variable
    System.IO.StreamReader file2 =
    new System.IO.StreamReader(fileName);

    string filenameonly = ((((fileName.Replace(SourceDirectory, "")).Replace(".txt", "")).Replace("\", "")).Replace("-", "_"));
    line1 = (" IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo]." + filenameonly + "') AND type in (N'U'))DROP TABLE [dbo]." + filenameonly + " Create Table dbo." + filenameonly + "([" + file2.ReadLine().Replace("|", "] NVARCHAR(500),[") + "] NVARCHAR(500))").Replace(".txt", "");

    file2.Close();

    SqlCommand myCommand = new SqlCommand(line1, myADONETConnection);
    myCommand.ExecuteNonQuery();

    MessageBox.Show("TABLE IS CREATED");

    //Writing Data of File Into Table
    int counter = 0;
    string line;

    System.IO.StreamReader SourceFile =
    new System.IO.StreamReader(fileName);
    while ((line = SourceFile.ReadLine()) != null)
    {

    if (counter == 0)
    {
    columname = line.ToString();
    columname = "[" + columname.Replace("|", "],[") + "]";
    }

    else
    {
    string query = "Insert into dbo." + filenameonly + "(" + columname + ") VALUES('" + line.Replace("|", "','") + "')";
    SqlCommand myCommand1 = new SqlCommand(query, myADONETConnection);
    myCommand1.ExecuteNonQuery();
    }

    counter++;
    }

    SourceFile.Close();


    The offending line is:



    string query = "Insert into dbo." + filenameonly + "(" + columname + ") VALUES('" + line.Replace("|", "','") + "')";


    I tried amending to the below to replace the apostrophe to no avail:



    string query = "Insert into dbo." + filenameonly + "(" + columname + ") VALUES('" + line.Replace("|", "','") + line.Replace("'''", "") + "')";

    string query = "Insert into dbo." + filenameonly + "(" + columname + ") VALUES('" + line.Replace("'", "") + "')";


    Also nesting the replace does not work:



    string query = "Insert into dbo." + filenameonly + "(" + columname + ") VALUES('" + line.Replace(line.Replace("'''", ""),"|" ) + "')";


    The below does not import anything:



    string query = "Insert into dbo." + filenameonly + "(" + columname + ") VALUES('" + line.Replace("|", "','").Replace("'", "") + "')";


    Changing to the below imports all but then fails over at the line with the apostrophe:



    string query = "Insert into dbo." + filenameonly + "(" + columname + ") VALUES('" + line.Replace("|", "','").Replace("'''", "") + "')";


    What am I missing?










    share|improve this question



























      0












      0








      0








      I'm using SSIS and am importing multiple (30) txt files. I create the table on the fly using the file name of the txt file and creating the columns based on the first row from the txt file - all this works. My code stops working when an apostrophe ' is in one of the fields.



      The files are delimitated using a |



      My code:



      SqlConnection myADONETConnection = new SqlConnection();
      myADONETConnection = (SqlConnection)(Dts.Connections["xxxxxxxxxxxxxx"].AcquireConnection(Dts.Transaction) as SqlConnection);


      string line1 = "";
      //Reading file names one by one
      string SourceDirectory = @"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
      string fileEntries = Directory.GetFiles(SourceDirectory);
      foreach (string fileName in fileEntries)
      {
      // do something with fileName
      string columname = "";

      //Reading first line of each file and assign to variable
      System.IO.StreamReader file2 =
      new System.IO.StreamReader(fileName);

      string filenameonly = ((((fileName.Replace(SourceDirectory, "")).Replace(".txt", "")).Replace("\", "")).Replace("-", "_"));
      line1 = (" IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo]." + filenameonly + "') AND type in (N'U'))DROP TABLE [dbo]." + filenameonly + " Create Table dbo." + filenameonly + "([" + file2.ReadLine().Replace("|", "] NVARCHAR(500),[") + "] NVARCHAR(500))").Replace(".txt", "");

      file2.Close();

      SqlCommand myCommand = new SqlCommand(line1, myADONETConnection);
      myCommand.ExecuteNonQuery();

      MessageBox.Show("TABLE IS CREATED");

      //Writing Data of File Into Table
      int counter = 0;
      string line;

      System.IO.StreamReader SourceFile =
      new System.IO.StreamReader(fileName);
      while ((line = SourceFile.ReadLine()) != null)
      {

      if (counter == 0)
      {
      columname = line.ToString();
      columname = "[" + columname.Replace("|", "],[") + "]";
      }

      else
      {
      string query = "Insert into dbo." + filenameonly + "(" + columname + ") VALUES('" + line.Replace("|", "','") + "')";
      SqlCommand myCommand1 = new SqlCommand(query, myADONETConnection);
      myCommand1.ExecuteNonQuery();
      }

      counter++;
      }

      SourceFile.Close();


      The offending line is:



      string query = "Insert into dbo." + filenameonly + "(" + columname + ") VALUES('" + line.Replace("|", "','") + "')";


      I tried amending to the below to replace the apostrophe to no avail:



      string query = "Insert into dbo." + filenameonly + "(" + columname + ") VALUES('" + line.Replace("|", "','") + line.Replace("'''", "") + "')";

      string query = "Insert into dbo." + filenameonly + "(" + columname + ") VALUES('" + line.Replace("'", "") + "')";


      Also nesting the replace does not work:



      string query = "Insert into dbo." + filenameonly + "(" + columname + ") VALUES('" + line.Replace(line.Replace("'''", ""),"|" ) + "')";


      The below does not import anything:



      string query = "Insert into dbo." + filenameonly + "(" + columname + ") VALUES('" + line.Replace("|", "','").Replace("'", "") + "')";


      Changing to the below imports all but then fails over at the line with the apostrophe:



      string query = "Insert into dbo." + filenameonly + "(" + columname + ") VALUES('" + line.Replace("|", "','").Replace("'''", "") + "')";


      What am I missing?










      share|improve this question
















      I'm using SSIS and am importing multiple (30) txt files. I create the table on the fly using the file name of the txt file and creating the columns based on the first row from the txt file - all this works. My code stops working when an apostrophe ' is in one of the fields.



      The files are delimitated using a |



      My code:



      SqlConnection myADONETConnection = new SqlConnection();
      myADONETConnection = (SqlConnection)(Dts.Connections["xxxxxxxxxxxxxx"].AcquireConnection(Dts.Transaction) as SqlConnection);


      string line1 = "";
      //Reading file names one by one
      string SourceDirectory = @"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
      string fileEntries = Directory.GetFiles(SourceDirectory);
      foreach (string fileName in fileEntries)
      {
      // do something with fileName
      string columname = "";

      //Reading first line of each file and assign to variable
      System.IO.StreamReader file2 =
      new System.IO.StreamReader(fileName);

      string filenameonly = ((((fileName.Replace(SourceDirectory, "")).Replace(".txt", "")).Replace("\", "")).Replace("-", "_"));
      line1 = (" IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo]." + filenameonly + "') AND type in (N'U'))DROP TABLE [dbo]." + filenameonly + " Create Table dbo." + filenameonly + "([" + file2.ReadLine().Replace("|", "] NVARCHAR(500),[") + "] NVARCHAR(500))").Replace(".txt", "");

      file2.Close();

      SqlCommand myCommand = new SqlCommand(line1, myADONETConnection);
      myCommand.ExecuteNonQuery();

      MessageBox.Show("TABLE IS CREATED");

      //Writing Data of File Into Table
      int counter = 0;
      string line;

      System.IO.StreamReader SourceFile =
      new System.IO.StreamReader(fileName);
      while ((line = SourceFile.ReadLine()) != null)
      {

      if (counter == 0)
      {
      columname = line.ToString();
      columname = "[" + columname.Replace("|", "],[") + "]";
      }

      else
      {
      string query = "Insert into dbo." + filenameonly + "(" + columname + ") VALUES('" + line.Replace("|", "','") + "')";
      SqlCommand myCommand1 = new SqlCommand(query, myADONETConnection);
      myCommand1.ExecuteNonQuery();
      }

      counter++;
      }

      SourceFile.Close();


      The offending line is:



      string query = "Insert into dbo." + filenameonly + "(" + columname + ") VALUES('" + line.Replace("|", "','") + "')";


      I tried amending to the below to replace the apostrophe to no avail:



      string query = "Insert into dbo." + filenameonly + "(" + columname + ") VALUES('" + line.Replace("|", "','") + line.Replace("'''", "") + "')";

      string query = "Insert into dbo." + filenameonly + "(" + columname + ") VALUES('" + line.Replace("'", "") + "')";


      Also nesting the replace does not work:



      string query = "Insert into dbo." + filenameonly + "(" + columname + ") VALUES('" + line.Replace(line.Replace("'''", ""),"|" ) + "')";


      The below does not import anything:



      string query = "Insert into dbo." + filenameonly + "(" + columname + ") VALUES('" + line.Replace("|", "','").Replace("'", "") + "')";


      Changing to the below imports all but then fails over at the line with the apostrophe:



      string query = "Insert into dbo." + filenameonly + "(" + columname + ") VALUES('" + line.Replace("|", "','").Replace("'''", "") + "')";


      What am I missing?







      c# sql-server ssis






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 26 '18 at 16:47







      Michael

















      asked Nov 26 '18 at 15:53









      MichaelMichael

      5101925




      5101925
























          1 Answer
          1






          active

          oldest

          votes


















          1














          Instead of concatenating the two REPLACE() functions like your first attempt, you should nest them.



          Replace(
          Replace({arguments to remove apostrophe character}),
          {arguments to remove pipe character}
          )


          If you want to keep the C# usage of string.Replace(), you would nest like this:



          line.Replace({arguments to replace apostrophe).Replace({arguments to replace pipe})


          Or you could do it in two separate statements:



          line = line.Replace({arguments to replace apostrophe});
          line = line.Replace({arguments to replace pipe});





          share|improve this answer


























          • I still cannot get it to work as per recent edit. I won't be able to do it on two separate statements as needed as part of the SQL Insert

            – Michael
            Nov 26 '18 at 16:48











          • You can do it on two separate statements if do it prior to using it to create the insert. I don't see any reason you can't do it that way. Use a local variable if necessary.

            – Tab Alleman
            Nov 26 '18 at 16:53













          • I'm not sure how to do that?

            – Michael
            Nov 27 '18 at 9:49











          • I show you in my most recent edit. Since line is already a local variable you can just use that. Look at my last code snippet. Do those two lines of code BEFORE you build the Insert statement.

            – Tab Alleman
            Nov 27 '18 at 14:14













          • This has worked, thank you.

            – Michael
            Nov 28 '18 at 15:44












          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53484766%2fssis-import-multiple-files-and-create-tables%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          1














          Instead of concatenating the two REPLACE() functions like your first attempt, you should nest them.



          Replace(
          Replace({arguments to remove apostrophe character}),
          {arguments to remove pipe character}
          )


          If you want to keep the C# usage of string.Replace(), you would nest like this:



          line.Replace({arguments to replace apostrophe).Replace({arguments to replace pipe})


          Or you could do it in two separate statements:



          line = line.Replace({arguments to replace apostrophe});
          line = line.Replace({arguments to replace pipe});





          share|improve this answer


























          • I still cannot get it to work as per recent edit. I won't be able to do it on two separate statements as needed as part of the SQL Insert

            – Michael
            Nov 26 '18 at 16:48











          • You can do it on two separate statements if do it prior to using it to create the insert. I don't see any reason you can't do it that way. Use a local variable if necessary.

            – Tab Alleman
            Nov 26 '18 at 16:53













          • I'm not sure how to do that?

            – Michael
            Nov 27 '18 at 9:49











          • I show you in my most recent edit. Since line is already a local variable you can just use that. Look at my last code snippet. Do those two lines of code BEFORE you build the Insert statement.

            – Tab Alleman
            Nov 27 '18 at 14:14













          • This has worked, thank you.

            – Michael
            Nov 28 '18 at 15:44
















          1














          Instead of concatenating the two REPLACE() functions like your first attempt, you should nest them.



          Replace(
          Replace({arguments to remove apostrophe character}),
          {arguments to remove pipe character}
          )


          If you want to keep the C# usage of string.Replace(), you would nest like this:



          line.Replace({arguments to replace apostrophe).Replace({arguments to replace pipe})


          Or you could do it in two separate statements:



          line = line.Replace({arguments to replace apostrophe});
          line = line.Replace({arguments to replace pipe});





          share|improve this answer


























          • I still cannot get it to work as per recent edit. I won't be able to do it on two separate statements as needed as part of the SQL Insert

            – Michael
            Nov 26 '18 at 16:48











          • You can do it on two separate statements if do it prior to using it to create the insert. I don't see any reason you can't do it that way. Use a local variable if necessary.

            – Tab Alleman
            Nov 26 '18 at 16:53













          • I'm not sure how to do that?

            – Michael
            Nov 27 '18 at 9:49











          • I show you in my most recent edit. Since line is already a local variable you can just use that. Look at my last code snippet. Do those two lines of code BEFORE you build the Insert statement.

            – Tab Alleman
            Nov 27 '18 at 14:14













          • This has worked, thank you.

            – Michael
            Nov 28 '18 at 15:44














          1












          1








          1







          Instead of concatenating the two REPLACE() functions like your first attempt, you should nest them.



          Replace(
          Replace({arguments to remove apostrophe character}),
          {arguments to remove pipe character}
          )


          If you want to keep the C# usage of string.Replace(), you would nest like this:



          line.Replace({arguments to replace apostrophe).Replace({arguments to replace pipe})


          Or you could do it in two separate statements:



          line = line.Replace({arguments to replace apostrophe});
          line = line.Replace({arguments to replace pipe});





          share|improve this answer















          Instead of concatenating the two REPLACE() functions like your first attempt, you should nest them.



          Replace(
          Replace({arguments to remove apostrophe character}),
          {arguments to remove pipe character}
          )


          If you want to keep the C# usage of string.Replace(), you would nest like this:



          line.Replace({arguments to replace apostrophe).Replace({arguments to replace pipe})


          Or you could do it in two separate statements:



          line = line.Replace({arguments to replace apostrophe});
          line = line.Replace({arguments to replace pipe});






          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Nov 26 '18 at 17:57

























          answered Nov 26 '18 at 16:03









          Tab AllemanTab Alleman

          27.5k62443




          27.5k62443













          • I still cannot get it to work as per recent edit. I won't be able to do it on two separate statements as needed as part of the SQL Insert

            – Michael
            Nov 26 '18 at 16:48











          • You can do it on two separate statements if do it prior to using it to create the insert. I don't see any reason you can't do it that way. Use a local variable if necessary.

            – Tab Alleman
            Nov 26 '18 at 16:53













          • I'm not sure how to do that?

            – Michael
            Nov 27 '18 at 9:49











          • I show you in my most recent edit. Since line is already a local variable you can just use that. Look at my last code snippet. Do those two lines of code BEFORE you build the Insert statement.

            – Tab Alleman
            Nov 27 '18 at 14:14













          • This has worked, thank you.

            – Michael
            Nov 28 '18 at 15:44



















          • I still cannot get it to work as per recent edit. I won't be able to do it on two separate statements as needed as part of the SQL Insert

            – Michael
            Nov 26 '18 at 16:48











          • You can do it on two separate statements if do it prior to using it to create the insert. I don't see any reason you can't do it that way. Use a local variable if necessary.

            – Tab Alleman
            Nov 26 '18 at 16:53













          • I'm not sure how to do that?

            – Michael
            Nov 27 '18 at 9:49











          • I show you in my most recent edit. Since line is already a local variable you can just use that. Look at my last code snippet. Do those two lines of code BEFORE you build the Insert statement.

            – Tab Alleman
            Nov 27 '18 at 14:14













          • This has worked, thank you.

            – Michael
            Nov 28 '18 at 15:44

















          I still cannot get it to work as per recent edit. I won't be able to do it on two separate statements as needed as part of the SQL Insert

          – Michael
          Nov 26 '18 at 16:48





          I still cannot get it to work as per recent edit. I won't be able to do it on two separate statements as needed as part of the SQL Insert

          – Michael
          Nov 26 '18 at 16:48













          You can do it on two separate statements if do it prior to using it to create the insert. I don't see any reason you can't do it that way. Use a local variable if necessary.

          – Tab Alleman
          Nov 26 '18 at 16:53







          You can do it on two separate statements if do it prior to using it to create the insert. I don't see any reason you can't do it that way. Use a local variable if necessary.

          – Tab Alleman
          Nov 26 '18 at 16:53















          I'm not sure how to do that?

          – Michael
          Nov 27 '18 at 9:49





          I'm not sure how to do that?

          – Michael
          Nov 27 '18 at 9:49













          I show you in my most recent edit. Since line is already a local variable you can just use that. Look at my last code snippet. Do those two lines of code BEFORE you build the Insert statement.

          – Tab Alleman
          Nov 27 '18 at 14:14







          I show you in my most recent edit. Since line is already a local variable you can just use that. Look at my last code snippet. Do those two lines of code BEFORE you build the Insert statement.

          – Tab Alleman
          Nov 27 '18 at 14:14















          This has worked, thank you.

          – Michael
          Nov 28 '18 at 15:44





          This has worked, thank you.

          – Michael
          Nov 28 '18 at 15:44




















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53484766%2fssis-import-multiple-files-and-create-tables%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Wiesbaden

          Marschland

          Dieringhausen