Csv file as source in OBI

Hi,
I am trying to use a csv file as a data source for OBI Answers where I will be updating the csv file daily and want to see the changes on the front end.
These are the steps I am doing:
1) create csv file and save on local machine
2) create ODBC connection with Microsoft Text Driver (.txt, .csv)
3) directory selected for .csv and format defined (format: CSV Delimited, characters: OEM), columns "guess" and then columns appear in list
4) In Admin Tool the .csv file/table is imported into physical layer (RPD offline)
5) When data is viewed for table in admin tool then data shows up fine
My issue is when I start the BI server and open the RPD online then try to view the data of the file in the physical layer then I get number of errors:
[nqs error: 10058] A general error has occured
[nqs error: 43093] An error occured while processing the EXECUTE PHYSICAL statement
[nqs error: 16001] ODBC error state: IM006 code: 0 message: [Microsoft][ODBC Driver Manager] Driver's SQLSetConnectAttr failed
[nqs error: 16001] ODBC error state: S1009 code: -1023 message: [Microsoft][ODBC Text Driver] '(unknown)' is not a valid path. Make sure that the path name is spelled correctly and that you are connected to the server on which the file resides..When I stop the BI server and open the RPD offline and then try to view data from the RPD then it connects fine and the data shows up.
Any thoughts on how I can resolve the issue so I can model the data on RPD online and create dashboards/reports from the csv file??
MANY THANKS!

Please see if the suggested solutions in these docs help.
"FileNotFoundException", "Cannot create directory", "Access is denied", etc Messages Are Signaled When The ODI Agent Running As Windows Service Uses Files Over Mapped Or Unmapped Network Drives [ID 424703.1]
ORA-28500: not a valid path via hsodbc over a mapped drive [ID 266187.1]
UNABLE TO USE MS ACCESS DB AS OBIEE SOURCE [ID 963882.1]
Error connecting to Microsoft Access Database [ID 492129.1]
Troubleshooting Error "1021001: Failed to Establish Connection With SQL Database Server" and Error (1021013) "ODBC Layer Error" [ID 598887.1]
Thanks,
Hussein

Similar Messages

  • Dynamically creating oracle table with csv file as source

    Hi,
    We have a requirment..TO create a dynamic external table.. Whenever the data or number of columns change in the CSV file the table should be replaced with current data and current number of columns...as we are naive experienced people in oracle please give us a clear solution.. We have tried with a code already ..But getting some errors. Code given below..
    thank you
    we have executed this code by changing the schema name and table name ..Remaining everything same ...
    Assume the following:
    - Oracle User and Schema name is ALLEXPERTS
    - Database name is EXPERTS
    - The directory object is file_dir
    - CSV file directory is /export/home/log
    - The csv file name is ALLEXPERTS_CSV.log
    - The table name is all_experts_tbl
    1. Create a directory object in Oracle. The directory will point to the directory where the file located.
    conn sys/{password}@EXPERTS as sysdba;
    CREATE OR REPLACE DIRECTORY file_dir AS '/export/home/log';
    2. Grant the directory privilege to the user
    GRANT READ ON DIRECTORY file_dir TO ALLEXPERTS;
    3. Create the table
    Connect as ALLEXPERTS user
    create table ALLEXPERTS.all_experts_tbl
    (txt_line varchar2(512))
    organization external
    (type ORACLE_LOADER
    default directory file_dir
    access parameters (records delimited by newline
    fields
    (txt_line char(512)))
    location ('ALLEXPERTS_CSV.log')
    This will create a table that links the data to a file. Now you can treat this file as a regular table where you can use SELECT statement to retrieve the data.
    PL/SQL to create the data (PSEUDO code)
    CREATE OR REPLACE PROCEDURE new_proc IS
    -- Setup the cursor
    CURSOR c_main IS SELECT *
    FROM allexperts.all_experts_tbl;
    CURSOR c_first_row IS ALLEXPERTS_CSV.logSELECT *
    FROM allexperts.all_experts_tbl
    WHERE ROWNUM = 1;
    -- Declare Variable
    l_delimiter_count NUMBER;
    l_temp_counter NUMBER:=1;
    l_current_row VARCHAR2(100);
    l_create_statements VARCHAR2(1000);
    BEGIN
    -- Get the first row
    -- Open the c_first_row and fetch the data into l_current_row
    -- Count the number of delimiter l_current_row and set the l_delimiter_count
    OPEN c_first_row;
    FETCH c_first_row INTO l_current_row;
    CLOSE c_first_row;
    l_delimiter_count := number of delimiter in l_current_row;
    -- Create the table with the right number of columns
    l_create_statements := 'CREATE TABLE csv_table ( ';
    WHILE l_temp_counter <= l_delimiter_count
    LOOP
    l_create_statement := l_create_statement || 'COL' || l_temp_counter || ' VARCHAR2(100)'
    l_temp_counter := l_temp_counter + 1;
    IF l_temp_counter <=l_delimiter_count THEN
    l_create_statement := l_create_statement || ',';
    END IF;
    END;
    l_create_statement := l_create_statement || ')';
    EXECUTE IMMEDIATE l_create_statement;
    -- Open the c_main to parse all the rows and insert into the table
    WHILE rec IN c_main
    LOOP
    -- Loop thru all the records and parse them
    -- Insert the data into the table created above
    END LOOP;

    The initial table is showing errors and the procedure is created with compilation errors
    After executing the create table i am getting the following errors
    ERROR at line 1:
    ORA-29913: error in executing ODCIEXTTABLEOPEN callout
    ORA-29400: data cartridge error
    KUP-00554: error encountered while parsing access parameters
    KUP-01005: syntax error: found "identifier": expecting one of: "badfile,
    byteordermark, characterset, column, data, delimited, discardfile,
    disable_directory_link_check, exit, fields, fixed, load, logfile, language,
    nodiscardfile, nobadfile, nologfile, date_cache, processing, readsize, string,
    skip, territory, varia"
    KUP-01008: the bad identifier was: deli
    KUP-01007: at line 1 column 9
    ORA-06512: at "SYS.ORACLE_LOADER", line 19

  • Csv files for OBIA procurement and spend analytics

    hi,
    which csv files we need to configure in order to install OBIA 7.9.6.3 procurement and spend analytic for EBS R12 1 3 as source?
    In documentation, oracle given set of files for 11i & R12? do we need to configure csv files for both version ???
    As per documentation,counter files for , CSV files req for source as 11i are not there in R12???
    please guide???

    Hi,
    To be safe, configure all of the domain value files documented in the section http://docs.oracle.com/cd/E20490_01/bia.7963/e19039/configsupplychain.htm#CACIEBBH
    Do this regardless of whether they state 11i or R12 in the filename. Some of the files have not changed from 11i adapters, so the filenames have not been updated e.g. domainValues_Employee_Expense_Type_ora11i.csv
    Please mark if helpful / correct,
    Andy
    www.project.eu.com

  • Combine csv files and insert source filename

    Newbie powershell question - Need help combining multiple csv files (100+) and inserting a column containing the name of the source file
    ex: 
    Apples.csv
    A,B,C,D
    1,2,3,4
    Oranges.csv
    A,B,C,D
    1,2,3,4
    Desired output would look like this:
    combined.csv
    A,B,C,D,Filename
    1,2,3,4,Apples.csv
    1,2,43,4,Oranges.csv

    I did see a post with something similar to what I wanted to accomplish but it wouldn't work for me since my file names will change and I am not going to create a variable for each file
    $CSV1 = Import-CSV c:\csv1.csv
    $CSV2 = Import-CSV c:\csv2.csv
    $Result = New-Object PSObject -Properties @{
    Field1 = $CSV1.Field1
    Field2 = $CSV1.Field2
    Source1 = "CSV1"
    Field3 = $CSV2.Field1
    Field4 = $CSV2.Field2
    Source2 = "CSV2"
    $Result | Export-CSV c:\Result.csv -NoTypeInformation

  • Performance issue with big CSV files as data source

    Hi,
    We are creating crystal reports for a large banking corporation with CSV files as data source. For some reports, we need join 2 csv files. The problem we met now is that when the 2 csv files are very large (both >200M), the performance is very bad and it takes an hour or so to refresh the data in Crystal Reports designer. The same case for either CR 11.5 or CR 2008.
    And my question is, is there any way to improve performance in such situations? For example, can we create index on the csv files? If you have ever created reports connecting to CSV, your suggestions will be highly appreciated.
    Thanks,
    Ray

    Certainly a reasonable concern...
    The question at this point is, How are the reports going to be used and deployed once they are in production?
    I'd look at it from that direction.
    For example... They may be able to dump the data directly to another database on a separate server that would insulate the main enterprise server. This would allow the main server to run the necessary queries during off peak hours and would isolate any reporting activity to a "reporting database".
    This would also keep the data secure and encrypted (it would continue to enjoy the security provided by an RDBMS). Text & csv files can be copied, emailed, altered & deleted by anyone who sees them. Placing them in encrypted .zip folders prevents them from being read by external applications.
    <Hope you liked the sales pitch I wrote for you to give to the client... =^)
    If all else fails and you're stuck using the csv files, at least see if they can get it all on one file. Joining the 2 files is killing you performance wise... More so than using 1 massive file.
    Jason

  • Setting up csv files as a data source for Hyperion intelligence explorer on Windows 7

    Hi. wondering anyone can point me to a resource or supply me with step son how to Set up csv files as a data source for Hyperion intelligence explorer on Windows 7?
    I used to be able to do it in WXP, but it seems thing shave really changed with W7..... Absolutely desperate... All and any help welcome.....

    Hi
    Can you please try setting up full persmission in the security properties for everyone on the wsconfig folder C:\ColdFusion10\config\wsconfig  and restart ColdFusion Server.
    Swaraj

  • 2.5 GB CSV file as data source for Crystal report

    Hi Experts,
        I  was asked to create a crystal report using crystal report as datasource(CSV file that is pretty huge (2.4Gb)). Could you help with me any doc that expalins the steps mainly with data connectivity.
    Objective is to create Crystal Report using that csv file as data source, save the report as .rpt with the data and send the results to customer to be read with Crystal Reports Viewer or save the results to PDF.
    Please help and suggest me steps as I am new to crystal reports and CSV as source.
    BR, Nanda Kishore

    Nanda,
    The issue of having some records with comma and some with a semi colon will need to be resolved before you can do an import. Assuming that there are no semi colons in any of the text values of the report, you could do a "Find & Replace" to convert the semi colons to commas.
    If find & replace isn't an option, you'll need to get the files separately.
    I've never used the Import Export Wizzard myself. I've always used the BULK INSERT command
    It would look something like this...
    BULK INSERT SQLServerTableName
    FROM 'c:\My_CSV_File.csv'
    WITH (FIELDTERMINATOR = ',')
    This of course implies that your table has the same columns, in the same order as the csv files and that each column is the correct data type to accept the incoming data.
    If you continue to have issues getting your data into SQL Server Express, please post in one of these two forums
    [Transact-SQL|http://social.msdn.microsoft.com/Forums/en-US/transactsql/threads]
    [SQL Server Express|http://social.msdn.microsoft.com/Forums/en-US/sqlexpress/threads]
    The Transact-SQL forum has some VERY knowledgeable people (including MVPs and book authors) posing answers.
    I've never posed to the SQL Server Express but I'm sure they can trouble shoot your issues with the Import Export Wizard.
    If you post in one of them, please copy the post link back to this thread you I can continue to to help.
    Jason

  • Need to load data from source .CSV files to oracle target database.

    Hi,
    This is the my scenario
    I have .CSV files in ftp folder and need to load the data into target tables.
    For that i need to create package and load the data into daily basis.
    But some time .csv file name will vary daily basis.
    can you any one suggest me???
    Thanks in Advacne.
    Zakeer

    Dear Roy,
    Thanks for your response
    Now I am able to extract the .zip file OdiUnZip (file). and loading data into target this is chapping in static way
    and my scenario is that some time i will get .zip files with different names with different .csv files
    i need to dynamically find the new .zip file and extract it and load the data into target.
    Please advice me..
    Thanks in advance
    Zakeer

  • Problem in handling multiple source of Complex CSV files in ODI

    Hi,
    I have a requirement where I have multiple CSV files.
    In Details:
    when I have one CSV file I use the following syntax in JDBC URL in creation of Data Server under Complex file of Topology navigator.
    jdbc:snps:complexfile?f=C:\pqr\pqr.csv&d=C:\pqr\pqr.xsd&re=Root
    When there are multiple CSV files what would be the syntax as? will it be like
    jdbc:snps:complexfile?f=C:\pqr\*.csv&d=C:\pqr\pqr.xsd&re=Root (I am getting error as unexpected token * when I am using * and clicking on Test Connection Button).
    Please help..
    Thanks.

    Hi,
    first of all according to documentation use backslash
    http://docs.oracle.com/cd/E21764_01/integrate.1111/e12644/appendix_complex_driver.htm#CCHDJGHF
    in second place under my opinion you are not able to use mask to identify more file. A workaround is to use a variable to store the file name. BUT i've never used Complex Files, so i'm speculating about it.

  • Error while refreshing a report using local csv file

    Hi,
    I'm using BI 4.1 SP02.
    While using Rich client, I've created a report with some merged queries, while one of the queries is a local CSV file - saved on AD in some server, and not on the repository inside BO.
    While trying to refresh the report with the Rich client, it all went great.
    Now, while using BI Launchpad java based app, I can't refresh the report - I get the following error:
    "An Internal error occurred while calling 'processDPCommandsEx' API. (Error: ERR_WIS_30270) (WIS 30270)"
    Should I be able to refresh a report without the Rich if it contains a local file (which is possible to EDIT only with rich) ?
    If so, then did someone ran into this error?
    Thank you,
    Or.

    First of all, thanks for both of the replies.
    Second,
    my problem is unlikely have to do something with permissions from one reasons -
    when the report is using XLS\XLSX on same folder(with same name prefix) - the report is running without any problem.
    Only problem is while refreshing without Rich while the source is network CSV file.
    Any suggestions?
    Thanks.

  • Creation of CSV file on client machine with data from forms

    Hi,
    My requirement is to generate a CSV file(or .XLS) on the client machine ie local drive with the details shown in a form.
    Oracle version -
    Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production
    PL/SQL Release 11.1.0.7.0 - Production
    CORE 11.1.0.7.0 Production
    TNS for Solaris: Version 11.1.0.7.0 - Production
    NLSRTL Version 11.1.0.7.0 - Production.
    I have searched the web for last couple of days and got to know that TEXT_IO is to be used to generate files on client machine. However, when I tried TEXT_IO, it was not able to generate the file on client rather it was able to generate on database server. After further browsing on this, there was a link which said that we need to use CLIENT_TEXT_IO to generate file on client side. For this, i was required to subclass the webutil.pll which i did and corrected the code to use CLIENT_TEXT_IO. The form was unable to compile and was not able to find "webutil_core" package.
    I am very confused with the disparity in the information available on the web as in what to use to generate a file on client side. If anyone has use it in the past, can he/she please detail what to use to get things sorted.
    Thanks,
    R

    Oracle version - Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production
    PL/SQL Release 11.1.0.7.0 - Production
    CORE 11.1.0.7.0 Production
    TNS for Solaris: Version 11.1.0.7.0 - Production
    NLSRTL Version 11.1.0.7.0 - Production. >
    So, what is your FORMS version. This is more important than your database version.
    My requirement is to generate a CSV file(or .XLS) on the client machine ie local drive with the details shown in a form. Depending on your Forms version, you would use TEXT_IO (if Forms 6i running in Client/Server mode) or WebUtil (if Forms 9i or higher).
    I'm going to guess that you are at least using Oracle Forms 9i since you stated that your attempt at using TEXT_IO produced a file on the DB server.
    There is more to using WebUtil than just attaching the WEBUTIL.PLL. If you had performed a simple search of the Forms Help System would have found numerous WebUtil topics to include: Introduction to WebUtil, Configuring WebUtil, Using WebUtil in Your Applications and the WebUtil User's Guide. If you have Oracle Forms release 10g or higher, WebUtil is included when you installed Forms, however, you do need to configure your installation to use WebUtil and you must download the Java COM Bridge (jacob.jar) from Source Forge. Take a look at the Configuring WebUtil Forms Help topic to find out which version of the Java COM Bridge you will need to download.
    After you have successfully configured WebUtil, take a look at the Using WebUtil in Your Applications topic to find out how to implement WebUtil in a form.
    Searching the Internet for answers is great, but don't forget the look at the Forms Help System because the majority of your questions can be answered there. :)
    Lastly, configuration of WebUtil is primarily done on your Application Server (AS). However, if you plan to perform preliminary runtime testing by running your Form from the Forms Builder, then you will configure your local runtime to support WebUtil as well as configure your AS. The steps are exactly the same. A common mis-step is to skip a step during the configuration because you don't think the step applies. Take a look at the Forms Help Runtime Setup Checklist topic for a list of step you need to complete in order to enable WebUtil.
    Hope this helps,
    Craig B-)
    If someone's response is helpful or correct, please mark it accordingly.

  • How can I read, millions of records and write as *.csv file

    I have to return some set of columns values(based on current date) from the database (could be million of record also) The dbms_output can accomodate only 20000 records. (I am retrieving thru a procedure using cursor).
    I should write these values to a file with extn .csv (comma separated file) I thought of using a utl_file. But I heard there is some restriction on the number of records even in utl_file.
    If so, what is the restriction. Is there any other way I can achive it? (BLOB or CLOB ??).
    Please help me in solving this problem.
    I have to write to .csv file, the values from the cursor I have concatinated with "," and now its returning the value to the screen (using dbms_output, temporarily) I have to redirect the output to .csv
    and the .csv should be in some physical directory and I have to upload(ftp) the file from the directory to the website.
    Please help me out.

    Jimmy,
    Make sure that utl_file is properly installed, make sure that the utl_file_dir parameter is set in the init.ora file and that the database has been re-started so that it will take effect, make sure that you have sufficient privileges granted directly, not through roles, including privileges to the file and directory that you are trying to write to, add the exception block below to your procedure to narrow down the source of the exception, then test again. If you still get an error, please post a cut and paste of the exact code that you run and any messages that you received.
    exception
        when utl_file.invalid_path then
            raise_application_error(-20001,
           'INVALID_PATH: File location or filename was invalid.');
        when utl_file.invalid_mode then
            raise_application_error(-20002,
          'INVALID_MODE: The open_mode parameter in FOPEN was
           invalid.');
        when utl_file.invalid_filehandle then
            raise_application_error(-20002,
            'INVALID_FILEHANDLE: The file handle was invalid.');
        when utl_file.invalid_operation then
            raise_application_error(-20003,
           'INVALID_OPERATION: The file could not be opened or
            operated on as requested.');
        when utl_file.read_error then
            raise_application_error(-20004,
           'READ_ERROR: An operating system error occurred during
            the read operation.');
        when utl_file.write_error then
            raise_application_error(-20005,
                'WRITE_ERROR: An operating system error occurred
                 during the write operation.');
        when utl_file.internal_error then
            raise_application_error(-20006,
                'INTERNAL_ERROR: An unspecified error in PL/SQL.');

  • How can I email using UTL_SMTP with a csv file as an attachment?

    Dear All,
    It would be great if someone could help me. I am trying to use UTL_SMTP to email with a csv file as attachment. I do get an email with a message but no attachment arrives with it.
    In fact the code used for attaching the csv file gets appended in the message body in the email.
    CREATE OR REPLACE PROCEDURE test_mail
    AS
    SENDER constant VARCHAR2(80) := '[email protected]';
    MAILHOST constant VARCHAR2(80) := 'mailhost.xxxx.ac.uk';
    mail_conn utl_smtp.connection;
    lv_rcpt VARCHAR2(80);
    lv_mesg VARCHAR2(9900);
    lv_subject VARCHAR2(80) := 'First Test Mail';
    lv_brk VARCHAR2(2) := CHR(13)||CHR(10);
    BEGIN
    mail_conn := utl_smtp.open_connection(mailhost, 25) ;
    utl_smtp.helo(mail_conn, MAILHOST) ;
    dbms_output.put_line('Sending Email to : ' ||lv_brk||'Suhas Mitra' ) ;
    lv_mesg := 'Date: '||TO_CHAR(sysdate,'dd Mon yy hh24:mi:ss')||lv_brk||
    'From: <'||SENDER||'>'||lv_brk||
    'Subject: '||lv_subject||lv_brk||
    'To: '||'[email protected]'||lv_brk||
    'MIME-Version: 1.0'||lv_brk||
    'Content-type:text/html;charset=iso-8859-1'||lv_brk||
    ' boundary="-----SECBOUND"'||
    ''||lv_brk||
    '-------SECBOUND'||
    'Some Message'
              || lv_brk ||
    '-------SECBOUND'||
              'Content-Type: text/plain;'|| lv_brk ||
              ' name="xxxx.csv"'|| lv_brk ||
              'Content-Transfer_Encoding: 8bit'|| lv_brk ||
              'Content-Disposition: attachment;'|| lv_brk ||
              ' filename="xxxx.csv"'|| lv_brk ||
              lv_brk ||
    'CSV,file,attachement'|| lv_brk ||     -- Content of attachment
    lv_brk||
    '-------SECBOUND' ;
    dbms_output.put_line('lv_mesg : ' || lv_mesg) ;
    utl_smtp.mail(mail_conn, SENDER) ;
    lv_rcpt := '[email protected]';
    utl_smtp.rcpt(mail_conn, lv_rcpt) ;
    utl_smtp.data(mail_conn, lv_mesg) ;
    utl_smtp.quit(mail_conn);
    EXCEPTION
    WHEN utl_smtp.transient_error OR utl_smtp.permanent_error THEN
    NULL ;
    WHEN OTHERS THEN
    dbms_output.put_line('Error Code : ' || SQLCODE) ;
    dbms_output.put_line('Error Message : ' || SQLERRM) ;
    utl_smtp.quit(mail_conn) ;
    END;

    LKBrwn_DBA wrote:
    Use UTL_MAIL instead.That package is an utter disappointment - and an excellent example IMO of how not to design an application programming interface. Even the source code is shoddy.. I mean, having to resort to a GOTO statement....!!?? The person(s) who wrote that package are sorely lacking in even the most basic of programming skills if structured programming is ignored and a spaghetti command used instead.
    No wonder the public interface of that code is equally shabby and thoughtless... The mail demo code posted by Oracle was better written than this "+package+" they now have bundled as the official Mail API.
    I dunno.. if I was in product management there would have been hell to pay over pushing cr@p like that to customers.

  • How can I load an Excel File to a pipe-delimited .csv File

    In SSIS I am attempting to process a .xls File and I have a C# script that is reading the .xls File. My issue is this...I have some fields that have an embedded comma in them. Those fields are designated by a double quote though ". I have included my
    C# Script. I'm just not sure if I have to indicate to it that there is a field delimeter. The " double-quote is only utilized when there is indeed an embedded comma...like "Company Name, Inc"...or "Main St., Apt. 101"
    How can I read this .xls worksheet and account for the double-quotes and the embedded comma and produce a pipe-delimeted file?
    public void Main()
    // TODO: Add your code here
    // Create NEW .CSV Files for each .XLS File in the Directory as .CSV Stubs to store the records that will be re-formatted
    // in this Script.
    try
    string StringExcelPath = (Dts.Variables["User::FilePath"].Value.ToString());
    string StringExcelFileName = (Dts.Variables["User::FileName"].Value.ToString());
    string StringFileNameExtension = Path.GetExtension(StringExcelFileName);
    if (StringFileNameExtension != ".xls")
    return;
    string StringCSVFileName = (Dts.Variables["User::FileName"].Value.ToString());
    StringCSVFileName = Path.GetFileNameWithoutExtension(StringCSVFileName);
    StringCSVFileName = (Dts.Variables["User::FilePath"].Value.ToString()) + StringCSVFileName + ".csv";
    string StringExcelWorksheetName = (Dts.Variables["User::ExcelWorksheetName"].Value.ToString());
    string StringColumnDelimeter = "|";
    int IntHeaderRowsToSkip = 0;
    //FileStream stream = File.Open(StringFullyQualifiedPathFileName, FileMode.Open, FileAccess.Read);
    //// Reading from a binary Excel file ('97-2003 format; *.xls)
    //IExcelDataReader excelReader = ExcelReaderFactory.CreateBinaryReader(stream);
    //// Reading from a OpenXml Excel file (2007 format; *.xlsx)
    //IExcelDataReader excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream);
    //// DataSet - The result of each spreadsheet will be created in the result.Tables
    //DataSet result = excelReader.AsDataSet();
    //// Free resources (IExcelDataReader is IDisposable)
    //excelReader.Close();
    if (ConvertExcelToCSV(StringExcelFileName, StringCSVFileName, StringExcelWorksheetName, StringColumnDelimeter, IntHeaderRowsToSkip) == true)
    Dts.TaskResult = (int)ScriptResults.Success;
    else
    Dts.TaskResult = (int)ScriptResults.Failure;
    catch (Exception)
    Dts.TaskResult = (int)ScriptResults.Failure;
    public static bool ConvertExcelToCSV(string sourceExcelPathAndName, string targetCSVPathAndName, string excelSheetName, string columnDelimeter, int headerRowsToSkip)
    try
    Microsoft.Office.Interop.Excel.Application ExcelApp = new Microsoft.Office.Interop.Excel.Application();
    Excel.Workbook ExcelWorkBook = ExcelApp.Workbooks.Open(
    sourceExcelPathAndName, // Filename
    0, // UpdateLinks ===> http://msdn.microsoft.com/en-us/library/office/ff194819(v=office.15).aspx
    true, // ReadOnly
    5, // Format ===> http://msdn.microsoft.com/en-us/library/office/ff194819(v=office.15).aspx
    "", // Password
    "", // WriteResPassword
    true, // IgnoreReadOnlyRecommended
    Excel.XlPlatform.xlWindows, // Origin
    "", // Delimeter
    true, // Editable
    false, // Notify
    0, // Converter
    false, // AddToMru
    false, // Local
    false // CorruptLoad
    // Gets the List of ALL Excel Worksheets within the Excel Spreadsheet
    Excel.Sheets ExcelWorkSheets = ExcelWorkBook.Worksheets;
    // Retrieves the Data from the EXACT Excel Worksheet that you want to process from
    Excel.Worksheet ExcelWorksheetToProcess = ExcelWorkSheets.get_Item(excelSheetName);
    // Gets the Range of Data from the EXACT Excel Worksheet that you want to process from
    Excel.Range ExcelWorksheetRange = ExcelWorksheetToProcess.UsedRange;
    // Sets the Cursor/Pointer at the Top Row of the Excel Worksheet
    Excel.Range ExcelRangeCurrentRow;
    // Deletes the Header Row and however many rows as specified in headerRowsToSkip
    for (int ExcelRowCount = 0; ExcelRowCount < headerRowsToSkip; ExcelRowCount++)
    ExcelRangeCurrentRow = ExcelWorksheetRange.get_Range("A1", Type.Missing).EntireRow;
    ExcelRangeCurrentRow.Delete(XlDeleteShiftDirection.xlShiftUp);
    // Replace ENTER, "\n", with a Space " "
    //ExcelWorksheetRange.Replace("\n", " ", Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
    // Replace comma "," with the indicated Column Delimeter variable, columnDelimeter
    ExcelWorksheetRange.Replace(",", columnDelimeter, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
    // Saves Data File as .csv Format
    ExcelWorkBook.SaveAs(
    targetCSVPathAndName, // Filename (See http://msdn.microsoft.com/en-us/library/microsoft.office.tools.excel.workbook.saveas.aspx)
    XlFileFormat.xlCSVMSDOS, // FileFormat
    Type.Missing, // Password
    Type.Missing, // WriteResPassword
    Type.Missing, // ReadOnlyRecommended
    Type.Missing, // CreateBackup
    Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlExclusive, // AccessMode
    Type.Missing, // ConflictResolution
    Type.Missing, // AddToMru
    Type.Missing, // TextCodepage
    Type.Missing, // TextVisualLayout
    false // Local
    ExcelWorkBook.Close(false, Type.Missing, Type.Missing);
    ExcelApp.Quit();
    GC.WaitForPendingFinalizers();
    GC.Collect();
    System.Runtime.InteropServices.Marshal.FinalReleaseComObject(ExcelWorkSheets);
    System.Runtime.InteropServices.Marshal.FinalReleaseComObject(ExcelWorkBook);
    System.Runtime.InteropServices.Marshal.FinalReleaseComObject(ExcelApp);
    return true;
    catch (Exception exc)
    Console.WriteLine(exc.ToString());
    Console.ReadLine();
    return true;
    #region ScriptResults declaration
    /// <summary>
    /// This enum provides a convenient shorthand within the scope of this class for setting the
    /// result of the script.
    /// This code was generated automatically.
    /// </summary>
    enum ScriptResults
    Success = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success,
    Failure = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure
    #endregion

    I would prefer doing this using a standard data flow task component in SSIS. I will choose an Excel source and a flat file destination for this.
    See how you can handle the inconsistent/embedded delimiters within files inside SSIS data flow
    http://visakhm.blogspot.in/2014/06/ssis-tips-handling-embedded-text.html
    http://visakhm.blogspot.in/2014/07/ssis-tips-handling-inconsistent-text.html
    Please Mark This As Answer if it helps to solve the issue Visakh ---------------------------- http://visakhm.blogspot.com/ https://www.facebook.com/VmBlogs

  • Inserting an image from a CSV file

    I am trying to create a document that is a directory of members of a community.  The directory is in a CSV file.  One ot the fields is a @photos field that contains the path to the location of the images on my local compiuter,  When I try and preview with the Data Merge panel I get the attached error message,  The path reads:
    /Users/jhaynes/Documents/Falcons_Landing/images
    All the other fields preview correctly.

    @Jim – the right syntax for your Mac OSX would be:
    Macintosh_HD:Users:jhaynes:Documents:Falcons_Landing:images:jhaynes.jpg
    : instead of /
    Note: it's all case sensitive.
    In my personal case the line above would not work, because in my system it's "Macintosh HD" (a blank between Macintosh and HD) instead of "Macintosh_HD" with an underscore. But this may vary…
    It's amazing, that InDesign's datamerge functionality on Mac OSX relies on that old syntax, wheras you could go to your images folder in the finder with typing "Users/jhaynes/Documents/Falcons_Landing/images" in the Go To Folder dialog. Using the : syntax there would not work.
    That leaves one question:
    What to do with special characters in file names like umlauts äAöÖüÜ, accented ones like áàÁÀ etc.pp.?
    Will they break that workflow on Mac OSX with HFS+ formatted volumes?
    Very likely…
    And that's because on Mac OSX umlauts and accented characters in file names are composite characters (made out of two glyphs) instead of single characters. But not only because of that…
    Here an example:
    You found out that the easiest way to get a file path is to drag a file to a pure text file opened in TextEdit App.
    Fine. You now know, that all "/"-signs must be changed to ":". No problem with a quick find/change action.
    Then you saved the file as pure text file with a txt suffix.
    All good and well?
    Perhaps. Perhaps not.
    A simple "ö" in a file name could ruin your workflow!
    Datamerge in InDesign would accept the text file as source, but would have problems to place the file with the umlaut. Precisely it will see the "ö" not as "ö" but as: "Äà"!
    Ah! You think, the composite characters problem kicks in. And right you are.
    No problem then: we could replace "ö" with our own typed "ö" in TextEdit.
    But to our surprise datamerge get the following instead of an ö: "√∂". Another composite…
    If you open the text file in TextEdit you cannot spot the difference.
    You can only see there is the represantation of character "ö".
    Here the solution to this puzzle:
    Choose "Unicode (UTF-16)" instead of "Unicode (UTF-8)" when saving your text file to pure text in TextEdit.
    Uwe

Maybe you are looking for

  • Photosmart c6150 not printing in Win 7

    I am running WIndows 7 64 bit and I have installed the latest HP drivers for the Photosmart C6150 and it installs correctly. The HP print test page runs fine in wireless and USB. For some reason any windows based print job goes to the spooler and the

  • RFC connection problem in ECC 4.7 and ECC 6.0

    Hello friends, Created RFC connection in 4.7 version of SAP and used it in a java program.  (STFC_connection) was the function module used. it all worked fine. Later when i tried the same thing in ECC 6.0 it failed and throws communication_failure ex

  • How to power US Macbook Air in UK

    To charge my US Macbook Air when traveling in the UK, do I need a voltage converter or can I use an inexpensive adapter plug to fit UK outlets?

  • Downloading Mavericks (and any app), Error "Distribution file could not be verified"

    When trying to download Mavericks (any app actually), an error comes up in the App Store, "The product distribution file could not be verified. It may be damaged or was not signed." I've tried clearing all caches and even starting in Safe Mode but no

  • Flash and Drupal

    Just curious if anyone else has started toying around with using Drupal as a CMS for use with sites built in Flash. I am in the middle of getting such a site set up and while the setup was a bit trying, I think it's pretty darn cool that one can crea