SSIS stopped working when loading into azure dwh - sql

Hope someone can help here.
my SSIS packages (straightforward fetch rows from Azure SQL db ---> load into azure dwh) have suddenly stopped working, after running smoothly for 2 months.
The insert (specilifally OLE DB component) now fails with 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 SQL Server Native Client 11.0" Hresult: 0x80004005
Description: "The source and target columns must be in the same order in the INSERT BULK statement."
Packages are developed with SSDT for VS 2013. No recoding or redeployment of azure dwh , just this error appeared out of the blue one day.
/Dmitri.

I quote Rick He:
The issue could be that your database has case insensitive collation and distribution column name specified in the table DDL is "different" from column name in column definition in terms of lower/upper cases.
For example, your original table DDL could be like:
create table tableA (colABC int) with (distribution=hash(colabc))
In this case your BCP(SqlBulkCopy) might stop working recently. This is a product issue. The latest GA release has this issue, and the team is trying to fix this issue now.
Workaround for now: Create a new table to make sure column names are exact the same. Take above example:
create table tableA (colABC int) with (distribution=hash(colABC))

Related

OLE DB or ODBC error. The current operation was cancelled because another operation in the transaction failed

OLE DB or ODBC error.
An error occurred while processing table 'Query 1'.
The current operation was cancelled because another operation in the transaction failed.
Out of line object 'DataSourceView', referring to ID(s) 'Temp_DSV', has been specified but has not been used.
I got the above error when i ran a query in Power Pivot for excel. Can somebody tell me , what might be the reason?
i got this message error too in mylast 7 days.
My solution is running first in example select top 10 * in sql server management studio, then go to excel, running query in power pivot again.
I dont know why this is solve, but it save me, in many times.
Maybe your query exceeds the memory limitations of 32bit Excel. Try to limit your query with a WHERE clause.
Also see this related question:
How to debug OLE DB or ODBC error (import data from MySql to Excel)

SSIS Error: Invalid object name - but object exists and query runs in SSMS

I'm currently updating all of our ETLs using Visual Studio 2015 (made in BIDS 2008) and redeploying them to a new reporting server running on SQL Server 2016 (originally 2008R2).
While updating one of the ETLs I got this error:
Exception from HRESULT: 0xC0202009 Error at Load Staging Table [OLE DB
Source [129]]: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has
occurred. Error code: 0x80004005. An OLE DB record is available.
Source: "Microsoft SQL Server Native Client 10.0" Hresult: 0x80004005
Description: "Invalid object name 'dbo.TimeSheets'.".
Here's what I've tried:
Checked my connection strings to make sure they were correct.
Checked the schema to make sure it existed and was correct.
Ran query from SSMS and it worked.
Ctrl + Shift + R to refresh intellisense.
Checked to see if another table exists with the same name.
Restarted Visual Studio and SSMS.
I got a successful fix from the comments of the question "The other option would be to fully qualify the table name {database}.{schema}.{table} to ensure that, regardless of the default catalog, you query the correct database."
I was using some other database and it was caching and using that DB name rather than the new one I changed to.
I encountered the same issue - my Database was somehow, not getting picked up. So I manually added the database and test the connection and now it works fine.
For SSIS - Specially it is observed if any table name is coming as "Invalid object name" then Check as -
First - Check table exist through SSMS and if not then SSMS> Edit > IntelliSense > Refresh Local Cache
Second - While making DB connection via "Connection manager" or already exist then - check table name comes in drop down of "Name of the table or View"
I tried several of the above suggestions but what worked for me in the end was the good old close and re-open of SSDT!
I just had the same issue.
Both SSIS and SSMS refused to find the table [Stage].[Customer], although it definetly existed (and had existed for quite some time).
Dropping and re-creating the table did no good. Also I noticed that SSMS's intellisense did not pick up that the table had been re-created (yes, after ctrl+shift+R)
What helped in the end was using
CREATE TABLE [Stage].[Customer] ([Id] INT)
in SSMS
This caused an error because the table already existed. Since then both SSMS and SSIS are working as expected. No idea what caused this error, but it is been difficult to track down.
Same issue.
I could see the corresponding tables in the drop-down in several of my OLE DB Destinations, but it would not let me see the mappings, giving the following error:
"Exception from HRESULT: 0xC0202040... SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80004005."
What did not work:
Restarted Visual Studio
Several solution cleans/rebuilds
Restarted the computer
What did work:
Closed Visual Studio
Cleared files in %temp% folder
Details
When clearing my %temp% files (those that would delete), one folder (VsHub) would not delete, but I was able to delete some of the files that it contained. When I started Visual Studio again and opened the sequence that contained those OLE DB Destinations, it was obvious that it was re-evaluating the XML code and the error went away.
Hope this helps someone.

How to provide row updates to table in Azure SQL DW using SSDT?

How can I implement automated row updates using SSDT for table in AZURE SQL Datawarehouse? When I try using the OLEDB Command component I receive an error :
An OLE DB record is available. Source: "Microsoft SQL Server Native Client 11.0" Hresult: 0x80004005 Description: "Stored procedure sp_describe_undeclared_parameters does not exist or is not supported.
I need to setup a table that is a SCD so require the update to be handled through SSDT. Any help would be greatly appreciated.
If I am reading this correctly Ankit I believe you are trying to process the dimension using the Slowly changing dimension wizard in SSIS and are using the OLEDB Command component to process incremental updates to rows. Is that correct?
May I suggest you take a different approach. Consider loading the data into SQLDW in full. Depending on the size of the dimension either recreate the table in full and rename or perform an upsert on the table. Both can be implemented using CTAS.
Take a look at the merge example in the following article by way of example https://azure.microsoft.com/en-us/documentation/articles/sql-data-warehouse-develop-ctas/

Multiple-step OLE DB operation generated errors...SSIS VS2005 Business Development Studio

When developing SSIS package using VS 2005, I set up the connection manager for oledb teradata provider and added a oledb source and destination. For oledb source, I used the data access mode as sql command and added sql command text. But when I tried to do column mapping, I'm getting an error message which is detailed below.
Error at All Transactions [OLEDB Source [1627]]:
An OLEDB error has occurred. Error code: 0x80040E21.
An OLE DB record is available. Source: "OLE DB Provider for Teradata" Hresult:
0x80040E21 Description: "Multiple-step OLE DB operation generated errors. Check
each OLE DB status value, if available. No work was done.".
ADDITIONAL INFORMATION:
Exception from HRESULT: 0xC0202009 (Microsoft.SqlServer.DTSPipelineWrap)
BUTTONS:
OK
Please let me know why such error throws. I have a workaround which is described as follows.
when you store the sql within ( and ) and alias the query and set the data access mode as table name or view name variable, then it works fine.
Without any more information on the SQL being used in the OLEDB Source component, I can try and guess. Maybe the issue is with the SQL that is returning columns with the same name or similar situation that leads to incorrect metadata.
I just got this error and I simply edited the provider to a different provider, tested, and then set it back to the original provider. In my case I was using OLEDB Native client 11 so I set it to 10 and then back to 11.
My guess is the XML got corrupted somehow as my package has been working forever.

Can't create branch TFS 2008 - Error 8152

I'm trying to create a new development branch from main (our first branch) but with no luck.
I've tried google but google doesn't seem to want to help me today...
The error i receive is this:
A database error occurred (SQL error 8152) ---> String or binary data would be truncated.
SRV-TFS.TfsVersionControl..prc_PendBranch: Database Update Failure - Error 8152 executing INSERT statement for tbl_PendingChange
please check the name of your branch. I think its too long that TFS database allows.