Join SQL Server and Oracle Data - sql

I need a help on SSIS.
I have a table called Orders with millions of records. It have a column called OrderID. This is in SQL Server.
I have a similar table called Orders with again millions of rows and same column called OrderID. This is in Oracle Server
Now I need to pass OrderID from SQL Server and check the OrderID exists in Oracle Server.
I tried Lookup and Merge Join. Both were deadly slow.
Any help on Quickly perform a join if OrderID found then set = Found else NotFound.
Please help me out

Related

I don't have a CreatedTime column in tables. Is there any way to get the last row inserted time from SQL Server tables?

In one of the SQL Server database, tables don't have any CreatedTime or Timestamp columns exists.
I'm trying to get last row inserted time from all tables for some troubleshooting purposes.
Is there any way to get this from system tables or statistics? Thanks!

How to merge Access DB table into a SQL Server table?

I have a SQL Server table that has a unique field which matches a unique field in an Access DB table.
I need to get the Access DB table into the SQL Server table based on that field.
How do I go about doing this?
I want to say a JOIN, but a JOIN is just a temporary query, isn't it? I want this to be permanent. I want the Access DB table data merged into SQL Server table based on this unique field.
What's the best way to do this?
Thanks.
The reason I need this separate is that a software is reading this SQL Server data, so I need it all in the same table.
B,
I believe what you would be looking for is Union
With the two tables being
HumanResources.Employees and HumanResources.Employees2
SELECT ID, Name FROM HumanResources.Employees
UNION
SELECT ID, Name FROM HumanResources.Employees2

SSIS Import from Multiple Data Sources

I have a little bit of a challenge. I have to consolidate some data that is coming from three different databases (Oracle, SQL Server, and Teradata).
How can I retrieve the data from TeraData and SQL Server based on the retrieve from Oracle?
For instance, Oracle has the sales information, TeraData has the client information, and SQL Server has the employee information.
I pull the list of sales from Oracle which has a list of client IDs and want to limit the TeraData pull based on those client IDs.
The clients then have an Employee identifier that ties to SQL Server.
I can connect to each individually but would like to limit the pulls from each.
Oracle returns about 3,000 rows while TeraData by itself returns 400,000 rows. The Oracle to TeraData is a many to 1 relationship (many oracle records to 1 TeraData record).
I have tried using the data source merge option but it runs each data source individually then merges them which ends up drastically increasing the amount of processing time due to the amount of records in TeraData.
Your assistance is appreciated. Thanks.
You pass over some SQL with an enormous IN string if you though it would reduce the record count: SELECT Sales.* FROM Teradata.Sales WHERE ClientID IN () You'd need to pre generate a static SQL string from something else before running against Teradata. You might run into SQL length issues if it's large.
Do you have a SQL Statement that retrieves unique client id's from Oracle?
SELECT DISTINCT ClientID FROM SCHEMA.SALES

Help in SSIS task of adding Data

I am trying to create a task of data import, my case is :
Taking ProductOrderID from ORDERS table, and searching it in MAINORDERS table and fetch all the records that match the POrderID and once the match is found, I insert the result set to ORDERDETAILS table.
and also in ORDERDETAILS table I like to add ORDERS's table OrderID as Foreign key.
Need a advice on how to perform this task.
Thanks
You would need to have a data source (OleDb or SqlServer probably, you don't state the DB being used), which selects the ProductOrderID from the Orders table, and the OrderID as well, since you'll need that later on. Then add a Lookup task to the MainOrders table, sending the matching rows to OrderDetails with an OleDb or SqlServer Destination task - the OrderID from the original source would be used to populate the FK. What do you need to do with non-matching rows?

problem creating a simple relationship in SQL Server 2005

I am using the database diagram to simply drag one column in a table to another to associate them and then trying to save it. i have done this a million times in the past with no problems. Both of the data types are the same, uniqueidentifier.
Here is the error I get:
'Customer ' table saved successfully
'CustomerOrder ' table
- Unable to create relationship 'FK_CustomerOrder_Customer'.
The
ALTER TABLE statement conflicted with
the FOREIGN KEY constraint
"FK_CustomerOrder_Customer". The
conflict occurred in database
"mydatabase", table "Customer", column
'CustomerID'.
Not sure how to trouble shoot this.
It means that there's a CustomerID in the CustomerOrder which can not be found in the Customer table.
Run this query inside SQL Server Management Studio separately:
SELECT *
FROM CustomerOrder co
WHERE NOT EXISTS (SELECT * FROM Customer c WHERE c.CustomerID = co.CustomerID)
and that should tell you what the "bad" Customer Order records are.
Are there customer orders with customer id's that don't exist in the customer table?