Talend how to copy one db to another - database

I need to copy a lot af tables from one db to another. And i want to do it in a fast way. So, what it the fastest way to do that? I'm new to talend, i know that is possible to do something like that: toracleinput->map->toracleoutput. But it will take a lot of time to do it for 40 tables.

If you want to transfer all the tables then you can use tTransferDatabase
refer document pages for more details.
You can download tTransferDatabase component from above link and then install it with TOS.
once that is done this component will be displayed on palate. drag and drop it on job designer. configure like below.
it will ask for source connection and target connection.
Create tOracleConnection for Target & source and provide it to tTransferDatabase component.
Select Migration type " schema & data".
See image for more details.

Related

In snowflake, is there way re-share like a symbolic link?

I currently have data sources that are being consumed by a lot of data consumers. I am now given a new set of data sources to replace existing ones. But I want this new sources to be named like previous data sources but pointed to new data sources. Like a symbolic link in Linux. Is there such a feature in snowflake? Like a symbolic table or db link?
I know I can use a view to wrap this table but there’s a performance issue when using a view especially when it’s a billion records.

Export Outlook Emails Into SQL (Vai ACCESS?)

I have a email folder in Outlook that contains 100s of emails which record my discussions with a developer of some bespoke software. I want to import these into SQL to create a knowledge base of information that can be searched upon to extract all the decisions that we have made during the course of the 2 year project.
Having sreached the net, I found that it is very easy to dump the contents of an email folder into Access using the import data functionality. In fact I have linked the table and so believe (never used Access before!!) that I now have an Access table that is connected in 'real-time' to the Outlook folder. This is eactly what I want BUT in SLQ as this is something that I am very familiar with using.
So I have tried to import the Access database into SQL (which also appears to be relatively easy) but keep getting the message that 'The source database ...contains no visible tables or views'. Checking SQL pemissions, I am owner of this new databse.
Two questions please. First, cant believe that going through Access is the simplest way to do this and presume that I will loose the 'real-time' link - am I right? Second, given that I can see my Access database has a visible table, why am I getting the error?
The easiest and quickest way is to create a VBA macro where you can populate your SQL database from Outlook emails. You can build the table structure according to your needs and extract the required information from Outlook using VBA. I'd suggest processing emails in chunks using the Find/FindNext or Restrict methods of the Items class, so you will not reach the reference counter limit. The MailItem properties you may find described in MSDN.
BTW The internal store (if you use the cached mode) in Outlook acts like a database. So, why do you need to introduce yet a new database?

SSIS- Roll back delete commands

I am using SSIS packages to daily refresh the data. Package logic is as follows,
Delete all rows in destination table
Insert full new data into destination table.
I am trying to find out ways to rollback delete if my insert fails. I tried using SSIS package transaction as below:
But now, after Delete SQL task is run , my package goes stuck for long time and does not respond.
What is the recommended way for doing this?
Any help is much appreciated.
There are quite a few techniques to consider here including some more complex ideas, but if we're looking at simpler ones, you could insert into a table with a different name but the same structure, and only if that works would you then swap it out somehow. One way of doing this is to use views for your access to tables, and then modify the view on success to use the table you've just inserted into.
It might not be the most elegant way, but it is one of the simpler ones to consider.
Change the default of the Transaction Option property of the package to "Required" and make sure each object has that property set to "Supported" which is the default.
Additionally, you can minimize the transaction by doing the same thing with a sequence container around just your Execute SQL task and data flow.
FYI, I can't see pictures at work so I do not know what your package looks like.

What are Access _be and _bp files and how do they link together?

I'm trying to fix and add some functionality to an Access Database that a group I work with uses. They have a FileName.accdb file which holds the queries and forms. The data seems to be stored in one of two other database files FileName_be.accdb and/or FileName_bp.accdb both stored in a 'Back End' Folder beside the FileName.accdb file.
I was hoping someone might be able to explain how all this might link together, there is no documentation on how it was organized.
The other thing that seems odd to me is that 3 files are similar in size:
FileName.accdb = 11MB
FileName_be.accdb = 10.1MB
FileName_bp.accdb file = 7.5MB
The _bp and _be files both only have the database tables, but the _bp file seems to be more up to date.
Your database is split into Frontend and Backend. See e.g.
Microsoft Access Split Database Architecture.
FileName.accdb should have linked tables, queries, forms and code.
FileName_be.accdb sounds like a backend, having only tables.
FileName_bp.accdb - if it's newer, maybe "bp" is "backend production", but that's just a guess.
Open FileName.accdb and open a linked table in design view. In the property sheet, the Description will tell you where the table is linked from. The tooltip in the navigation bar will do so too.
Alternatively, you can use External Data -> Linked Table Manager to re-map these file locations.

Generating several similar SSIS packages (file data source to DB)

Is there a way to automatically generate SSIS packages? I need to create a lot of SSIS packages that just erase data from one table and import data from a text file. The file name matches table name and the column headers are in the first line of the file.
For more detailed information:
I am working on a project in which I have to separate two systems that are currently coupled (one system has direct access to the other's database). After the modifications, one system will provide data through txt files to be loaded in the other database.
We have to use SSIS to load data into the database from the text files.
The text files will be provided in CSV format with column headers in the first line.
The tables from both databases have matching column names, and all we need to do is clear the table and load data from the files.
I have more than one hundred tables with different number of columns. Do I need to create each package manually?
I'm familiar with 2 free options.
EzAPI might be a good place if you're a .NET heavy shop or just really want to geek out with the API. This approach allows you to control the pretty much the entire package generation but at the cost of coding time. I find EzAPI generally easier than working with the base COM/.NET libraries for SSIS.
Biml is an interesting beast. Varigence will be happy to sell you a license to Mist but it's not needed. All you would need is BIDSHelper and then browse through BimlScript and look for a recipe that approximates your needs. Once you have that, click the context sensitive menu button in BIDSHelper and whoosh, it generates packages.
I did this just using vb, I passed in the table names as a command parameter and used vb to generate the insert and clear, worked a charm... I can try and dig it out tomorrow when I'm back in the office but it was pretty simple. There didn't seem to be any other way to say "just get x and export it", "just take y and import it into z" so vb it had to be. In fact come to think of it I think I actually used a small xml file to pass the table info for export and then determined the table name for import from the csv file name. To be clear, this was only one package but it could dynamically choose the number of imports/exports it did. Further clarification this was vb within ssis as a processing step

Resources