on 04-07-2010 9:20 AM
Hi Experts,
I'm looking for solution to move data from One Database to Another database, in this case, in my understand, we can use JDBC adapter as sender and receiver.
But my problems here is, in database table, there is CO table which contain more than 20,000,000 records. And it need to update every time data have been changed. My point is, can JDBC handle this huge amount of data.
If not, can we split it? or are there any solution instead of this JDBC Adpater?
Thanks in advance,
terry_n
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi
Its very simple if you know the SQL or oracle.
Whatever is you database just apply TOP query in your select query and update query in your sender JDBC adapter.
If you dont know the query just search in google.
What TOP Query do:
for example ( SQL Server ) i have to pic only 10000 records from the 50000 records present in table.
Here i will apply ---
Select TOP 10000 fieldName1, fieldName2 from TableName where clause...
Update TOP(10000) TableName set fieldName1='1' where clause...
Use this query and your problem will be solved.
Please dont forget to make it Transaction Level Isolation = serializable (under Advanced --> Additional Parameters in your sender Communication channel)
Hope so it will solve your problem.
Regards
Dheeraj Kumar
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi All,
I have the same issue where we need t fetch 6 million rerecords from SQL DB and insert into ECC via Proxy. The issues is SQL DBA does not want to provide the flag for updating the records ( through which we can split the data)
So fetching so many records in one go is one issue. Other issues is how many messages will be generated in SAP PI( going to to ECC) .. Will there be 6 millions? I guessing using multi map, we can restrict it but overall design looks shaky.. Can you advice the best way forward.
Thanks!
Hi,
This is the common problwm we face with JDBC adapter,i think spliting the data in to chunks and process is the best solution.
search in sdn,similar discusion on the same concept u will find it.
Cheers,
Raj
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Terry_n,
You can also try one thing. When you read from sender database update one field of the database with flag as 'X'. Next time when database is updated ask the database handler to remove the flag x from the records which are updated also ask them that while inserting data in that table donot pass flag as 'X'. So when ever there is new entry or updation in the table XI will only pick the records which are having flag as blank. This will reduce the performance issue.
In sender JDBC adapter you can specify this condition by writing select query like select * from table where abc (flag field ) is null. and in update field write query for update saying where abc is null update as 'X'.
User | Count |
---|---|
87 | |
10 | |
10 | |
10 | |
7 | |
6 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.