Quantcast
Channel: SQL Server Integration Services forum
Viewing all 24688 articles
Browse latest View live

SSIS Bug when handling CSV Files with commas embedded in quoted strings

$
0
0
My group and I have been wrangling with this for a couple of days, and we're stumped.

Is the csv snippet "This string", 1234, "This, another string", "thatstring" has been throwing errors that look like it is using the comma inside the quoted string "This, another string" as a delimiter, and causing the row to grow by one field.

We've looked on the web, and apparently this is a common problem.

I just find it hard to believe that something so major is still a bug.

We're using SQL 2005 SP1 btw.

Help,

Doug

SSIS Integration ADO Net Destination

$
0
0

Hello,

I am working on integrate SSIS from OData source to oracle database.

I have created ODATA source connected to ADO NET Destination, when execute the package I have received the below errors

[ADO NET Destination [2]] Error: ADO NET Destination has failed to acquire the connection with the following error message: "OCIEnvCreate failed with return code -1 but error message text was not available.".
[SSIS.Pipeline] Error: ADO NET Destination failed validation and returned error code 0xC0208452.

Do you want to be acknowledged as Microsoft SQL Server Integration Services Guru? Join May 2019 competition!

$
0
0


What is TechNet Guru Competition?

Each month Microsoft TechNet Wiki council organizes a contest of the best articles posted that month. This is your chance to be announced as MICROSOFT TECHNOLOGY GURU OF THE MONTH!

One winner in each category will be selected each month for glory and adoration by the MSDN/TechNet Ninjas and community as a whole. Winners will be announced in dedicated blog post that will be published inMicrosoft Wiki Ninjas blog, a tweet fromMicrosoft Wiki Ninjas Twitter account, links will be published atMicrosoft TNWiki group on Facebook, and other acknowledgement from the community will follow.

Some of our biggest community voices and many MVPs have passed through these halls on their way to fame and fortune.

If you have already made a contribution in the forums or gallery or you published a nice blog, then you can simply convert it into a shared wiki article, reference the original post, and register the article for the TechNet Guru Competition. The articles must be written in June 2019 and must be in English. However, the original blog or forum content can be from beforeJune 2019.

Come and see who is making waves in all your favorite technologies. Maybe it will be you!


Who can join the Competition?

Anyone who has basic knowledge and the desire to share the knowledge is welcome. Articles can appeal to beginners or discusse advanced topics. All you have to do is to add your article to TechNet Wiki from your own specialty category.


How can you win?

  1. Please copy/Write over your Microsoft technical solutions and revelations to TechNetWiki.
  2. Add a link to your new article on THIS WIKI COMPETITION PAGE (so we know you've contributed)
  3. (Optional but recommended) Add a link to your article at the TechNetWiki group on Facebook to get feedback and tips from the council members and from the community. The group is very active and people love to help. You can even get direct improvements to your article before the contest starts.

Do you have any question or want more information?

Feel free to ask any questions below, or Join us at the official MicrosoftTechNet Wiki groups on facebook. Read More about TechNet Guru Awards.

If you win, people will sing your praises online and your name will be raised as Guru of the Month.

PS: Above top banner came from Bala S.

Do you want to be acknowledged as Microsoft SQL Server Integration Services Guru? Join June 2019 competition!

$
0
0


What is TechNet Guru Competition?

Each month Microsoft TechNet Wiki council organizes a contest of the best articles posted that month. This is your chance to be announced as MICROSOFT TECHNOLOGY GURU OF THE MONTH!

One winner in each category will be selected each month for glory and adoration by the MSDN/TechNet Ninjas and community as a whole. Winners will be announced in dedicated blog post that will be published inMicrosoft Wiki Ninjas blog, a tweet fromMicrosoft Wiki Ninjas Twitter account, links will be published atMicrosoft TNWiki group on Facebook, and other acknowledgement from the community will follow.

Some of our biggest community voices and many MVPs have passed through these halls on their way to fame and fortune.

If you have already made a contribution in the forums or gallery or you published a nice blog, then you can simply convert it into a shared wiki article, reference the original post, and register the article for the TechNet Guru Competition. The articles must be written in June 2019 and must be in English. However, the original blog or forum content can be from beforeJune 2019.

Come and see who is making waves in all your favorite technologies. Maybe it will be you!


Who can join the Competition?

Anyone who has basic knowledge and the desire to share the knowledge is welcome. Articles can appeal to beginners or discusse advanced topics. All you have to do is to add your article to TechNet Wiki from your own specialty category.


How can you win?

  1. Please copy/Write over your Microsoft technical solutions and revelations to TechNetWiki.
  2. Add a link to your new article on THIS WIKI COMPETITION PAGE (so we know you've contributed)
  3. (Optional but recommended) Add a link to your article at the TechNetWiki group on Facebook to get feedback and tips from the council members and from the community. The group is very active and people love to help. You can even get direct improvements to your article before the contest starts.

Do you have any question or want more information?

Feel free to ask any questions below, or Join us at the official MicrosoftTechNet Wiki groups on facebook. Read More about TechNet Guru Awards.

If you win, people will sing your praises online and your name will be raised as Guru of the Month.

PS: Above top banner came from Bala S.


Running SSIS package with script component on SQL Server 2016 gives error Component Mismatch Exception

$
0
0

I have SSIS project deployed on SQL Sever 2016, the project has a package that uses script component, the package runs with no errors locally on VS 2017 but when deployed gives error.

Solutions that I tried

1)Changed the target version to SQL Server 2016 in SSIS project

2)Change the .NET runtime on script component to 4.6

,still no luck .Any help would be appreciated

error report-

Data Flow Task 1:Error: Microsoft.SqlServer.Dts.Pipeline.ComponentVersionMismatchException: The version of Script Component is not compatible with this version of the DataFlow.  [[The version or pipeline version or both for the specified component is higher than the current version.  This package was probably created on a new version of DTS or the component than is installed on the current PC.]]
   at Microsoft.SqlServer.Dts.Pipeline.ManagedComponentHost.HostCheckAndPerformUpgrade(IDTSManagedComponentWrapper100 wrapper, Int32 lPipelineVersion)

Data Flow Task 1:Error: The component metadata for "Script Component" could not be upgraded to the newer version of the component. The PerformUpgrade method failed.


Dynamic SQL Question

$
0
0

I have an SSIS package that reads in 7 flat files, massages the data, and places the results into a staging table (not a temporary table). Also as part of the SSIS package, I store a variable that contains the name of the table the data should be copied to. I believe I need a dynamic sql query (as part of a SQL Task)  to accomplish this but I can't seem to figure out how to do this. I'm basically trying to:

Insert Into @TableName

Select Col1, Col1, COl3 FROM StagingTable

I seen many examples of dynamic sql but they all seem  to reference variables in the Where clause.  Could someone please point me in the right direction, if this is possible. The @TableName  is actually based on a a particular site and will change each month. For example the table name 201905_Location387, 201905_Location_388, etc.

 Any suggestion would be appreciated, thanks

 

The requested OLE DB provider OraOLEDB.Oracle.1 is not registered. If the 64-bit driver is not installed, run the package in 32-bit mode. Error code: 0x00000000.

$
0
0

Hi

I am trying to run the SSIS package abd getting error with oracle 64 bit driver while connecting to Oracle database.

I installed 64 bit 12.2 deiver and I able connect  to oracle databases  from the server. But  When run the packge its faied with this error. On environment varible on server  Path=c:\app\product\12.2.0\client_3\bin

Secondly package is tryint connect through a "Link server" using " OraOLEDB.Oracle" and  did a connection test and connecting is good.

Main Package:Error: The requested OLE DB provider OraOLEDB.Oracle.1 is not registered. If the 64-bit driver is not installed, run the package in 32-bit mode. Error code: 0x00000000.
An OLE DB record is available.  Source: "Microsoft OLE DB Service Components" Hresult: 0x80040154  Description: "Class not registered".
 any one have idea.

Not sure why is that .

Thanks

The OLE DB provider "OraOLEDB.Oracle" for linked server supplied inconsistent metadata for a column. The column (compile-time ordinal 1) of object was reported to have a "DBCOLUMNFLAGS_ISFIXEDLENGTH" of 16 at compile time and 0 at run time

$
0
0

I an trying to access the Oracle database from Link server and getting following error. When I manully create new table in oracle side , then its works. Issue is existing tables which own by application schema(CVADM)

DB link user is "repusr"

Oracle database schema is "CVADM"

Linkedname "CVRPT"

 +++++++++++++++++++++

The OLE DB provider "OraOLEDB.Oracle" for linked server  supplied inconsistent metadata for a column. The column  (compile-time ordinal 1) of object was reported to have a "DBCOLUMNFLAGS_ISFIXEDLENGTH" of 16 at compile time and 0 at run time

++++++++++++++++++

1. When created new table(T1) I can access from Lik server as follows

select *FROM[CVRPT]..[CVADM].[T1]GO

2. Problematic tables(CVADM.ACCOUNT) I can access as follows  using openquery

SELECT *FROMOPENQUERY(CVRPT,'  SELECT  * FROM CVADM.ACCOUNT where rownum<15');

issue occurred while  accessing on following way

select *FROM[CVRPT]..[CVADM].[ACCOUNT]

3. I tried all  other tables and issue is same for other tables.

4. User "repusr" also oracle user and has "select" access on schema "CVADM" tables

5. Provider "ORaOLEDB.Oracle enabled following options.

Enable the following options

Allow inprocess
Nested Queries
Support “Like” operator

6. I created other link "ERPSAP" to oracle other DB "SAPRPT" and I can access the data  and no issue using same provider(ORAOLEDB.Oracle)

Any one can help would be much appreciated


run ssis package in web page

$
0
0

Hi masters,

I have an issues, I develop a web to run SSIS package, I could run it successfully in debugged,

but when i published in server, the package could not be run as below.

Error message:

SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80004005. An OLE DB record is available. Source: "Microsoft Access Database Engine" Hresult: 0x80004005 Description: "The Microsoft Access database engine cannot open or write to the file ''. It is already opened exclusively by another user, or you need permission to view and write its data.". SSIS Error Code DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER. The AcquireConnection method call to the connection manager "Excel Connection Manager" failed with error code 0xC0202009. There may be error messages posted before this with more information on why the AcquireConnection method call failed. Excel Source failed validation and returned error code 0xC020801C. One or more component failed validation. There were errors during task validation.

my application pool conf:

my script:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using DtsRunTime = Microsoft.SqlServer.Dts.Runtime.Wrapper;
using App = System.Windows.Forms;
using System.Threading;

public partial class ReportDataUpdate : System.Web.UI.Page
{

    protected void Page_Load(object sender, EventArgs e)
    {
        
    }
    protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
    {

    }
    protected void TextBox1_TextChanged(object sender, EventArgs e)
    {
       
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        string txtvalue = null;
        TextBox1.Text = "Refreshed Date: "+DateTime.Now.ToString();
        if (DropDownList1.SelectedItem.Value == "list1")
        {
            txtvalue = "Production Output by Product";
        }
        else if (DropDownList1.SelectedItem.Value == "list2")
        {
            txtvalue = "Production Scrap by Product";
        }
        else if (DropDownList1.SelectedItem.Value == "list3")
        {
            txtvalue = "Production Work Hours by Product";
        }
        else
        {
            TextBox1.Text = "others";
            //TextBox1.AppendText(DateTime.Now.ToString()+'/n');
        }
        TextBox1.Text = TextBox1.Text + "\r" + txtvalue;

        // Create a connection to the server
        SqlConnection con = new SqlConnection();
        //username,password
        con.ConnectionString = "server=sny-bi3;database=CHINABIREPORTS;uid=XXXX;pwd=XXXX";
        //windows
        //con.ConnectionString = "server=sny-bi3;database=CHINABIREPORTS;Trusted_Connection=SSPI";  

        con.Open();
        if (con.State == System.Data.ConnectionState.Open)
        {
            //Console.WriteLine(con.Database);
            // Console.Read();
            
        }
        else
        {
            txtvalue = txtvalue + "\r" + "You are no permission please contact IT";
            TextBox1.Text = txtvalue;
            //Console.WriteLine("You are no permission please contact IT");
        }
        //Console.WriteLine("ETL Start,please wait 2 or more mins...");
        // Variables
        string filepath = @"D:\SSIS\SSIS_Projects\SSIS_Projects\Poduction_Output_by_Product_Manual_Data.dtsx";
        DtsRunTime.Application application = new DtsRunTime.Application();
        DtsRunTime.IDTSPackage100 package = application.LoadPackage(filepath, true, null);
        DtsRunTime.DTSExecResult result = package.Execute();
        //Console.WriteLine(result);

        if (result.Equals(DtsRunTime.DTSExecResult.DTSER_SUCCESS))
        {
            txtvalue = txtvalue + "\r" + "ETL Success,refreshed report";
            TextBox1.Text = txtvalue;
            //Console.WriteLine("ETL Success...,Please press any key and refreshed Product Output by Product report");
        }
        else
        {
            txtvalue = txtvalue + "\r" + "ETL Failed,please contact IT";
            TextBox1.Text = txtvalue;
            //Console.WriteLine("ETL Failed,please contact IT");
            for (int i = 0; i < package.Errors.Count; i++)
            {
                txtvalue = txtvalue + "\r" + package.Errors[i].Description;
                TextBox1.Text = txtvalue;
                //Console.WriteLine(package.Errors[i].Description);
            }

        }
        con.Close();
    }
}

Dataflowtask shows wrong entries from SAP - MBEW fields

$
0
0

Hello community,

I am fetching different tables from SAP via ODBC and everything works fine. But when I am touching MBEW or MBEWH with the fields LBKUM or SALK3 I am getting just 0.00 or completely wrong entries, and that in just those two fields. Same amount of rows which perfect match together, except those two fields.

Has anyone an idea?

Thanks

Mario

SSIS Foreach Loop ignore errors

$
0
0

Afternoon,

I have a foreach loop container that calls a number of execute package tasks to rebuild a data warehouse. The container has a list of database names and within the container these are mapped to a parameter this then gets passed to the execute package task that performs an ETL on a certain table, it then goes to the next table etc. When all tables are complete the loop selects the next database.

The issue I have is if one of the packages fails the task stops. I have since changed MaximumErrorCount to 0 this executes the rest of tables per database even if a table has failed. What I would like to achieve is just to end the foreach loop for the current database, flag an error and go onto the next database in the list if any package fails.

SSIS Run as Superuser

$
0
0

Hello

I have a script that will work in Management studio when I run the following at the start of the script.

helper.SetSessionContextVariables @UserId = '77', @IsSuperUser = 1

However when I add this to the start of the script in my SSIS OLE DB  source editor it does not work.

The data Source is using this super user account.

The developer of the software has enable only Superusers can view data in the Views I use in my script.

Has any one come across this problem before if so how do you resolve?

Regards

SQLSearcher99 

Ssis job fails with below error.

$
0
0
Hi Msdn, I have an ssis job which sends mails to customers and job failed with below error. Can you postsolution for this. Thanks.

Error when passing a decimal variable as an output parameter for an Execute SQL Task - SSIS 2014-2016

$
0
0

Hi,

inside a SSIS 2014 project I've created a decimal variable that I need to pass as an output parameter for an Execute SQL Task.

I've defined this output parameter as a decimal one, but when I run the task I've this error:

[Execute SQL Task] Error: Executing the query "SELECT ? = xxxxxx..." failed with the following error: "Unspecified error". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly.

The same task goes in error also choosing NUMERIC as a data type. It functions rightly when I choose CURRENCY as a data type for the output parameter.

It seems strange that for a decimal variable I need to specify CURRENCY as a data type for the output parameter to pass an Execute SQL Task; it is natural to choose DECIMAL as a data type.

Any suggests to me, please? Thanks

ssis package

$
0
0

Hello,

i have different tables for different states.file name is respective state only. In my destination extra column is there. my need is capture the filename i.e, state and loaded into extra column.

For suppose if i load Dallas state file,all the records in Dallas file get Dallas as state.

please anyone let me know about this.

Thank you.


"VS_NEEDSNEWMETADATA" error coming

$
0
0

Hi 

getting following error While Running SSIS Package

[SSIS.Pipeline] Error: "Oracle Source" failed validation and returned validation status "VS_NEEDSNEWMETADATA".

 [SSIS.Pipeline] Error: One or more component failed validation.

 Using Oracle 12C 
VisualStudio-2017, SqlServer -2016, 

Connection used: Connection manager for Oracle Connection

Anshuman Chowdhury

What details are needed for Data Migration?

$
0
0

Hi,

 

What are the details we need to get from client for migrating data from existing system to new system(MSSQL database)? 

Do we need to prepare mapping sheet and if yes then what kind of details should be included in mapping sheet or we need to ask data dictionary?

Can anyone help me with the migration questions or how actually that process is done?

 

Thanks,

Dhara

ssis flatfile connection text qualifier issue

$
0
0

We have a ssis package with flatfile connection single quote ' text qualifier which works well in 2008 R2 version with pipe delimiter,  example:

c1|c2|c3|
'John'|'Mc'Donalds'|'New york'
'Marry'|'Gold'|'New york'

The same connection manager fail in 2017 SSIS package /after upgrade or if we try to create a new one, the data gets messes up due to that text qualifier in column value. Any tip/trick to resolve this?

Thanks in advance.


Mahesh

How to write expression to separate the files coming out of For Each Loop Container - File Enumerator - Please help!

$
0
0
Hi,
There are around 20 csv files are there in the source files. Out of 20, 15 file names start with 'INDIA' and 5 files start with 'Mexico'.Both have different column names.
 My job is to load all the IND files to dbo.Tbl_India and Mexico files to a table called 'dbo.Tbl_Mexico'. 

I am trying to use a For Each Loop container with File Enumerator and inside the For each loop container, using a Expression task, checking 'Substring(filename,1,5)='INDIA' and if its success, it will go a DFT, where i load them into concerned tables. I have created 2 flat file conn mgr with Expression pointed to 'User::FileName' as well-  But , this is not working. Expression task does not work as expected. I tried with Precedent constraint also - its also not properly separating INDIA and Mexico files. 
Can some experts help me please? Basicall I want to separate the filename which is coming from For Each Loop container to INDIA and MEXICO and load into two different tables.

Invalid length parameter passed to the LEFT or SUBSTRING function

$
0
0

Hi ,

I have a OLEDB source query that uses substring function to fetch the value. while running the query with the same data in SSMS i am not getting any errors and it is giving the successful results but while executing the same query through SSIS packages scheduled in SSIS server . I am getting the below error.
"Invalid length parameter passed to the LEFT or SUBSTRING function".

when i am running the package through BIDS for the same data i am not getting the error but ots only coming when running through the scheduled job in ssis server.

Package was running successfully from the past 3 years but suddenly this error is popping out . I have no clue what is happening .

I have validated the data manually as well but no clue as all the data is correct.

Please help in suggesting what can be the reason of this error or how i can debug this error.

Viewing all 24688 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>