Configure ODBC to access a CSV file on Linux for access from BI Server

How to configure an ODBC connection to a CSV file on Linux for access from the BI Server Repository physical layer
I am migrating a working windows OBIEE installation to Linux and can not seem to connect to csv files on Linux (from th BI server also running on the same Linux machine).
I am using SUse Linux Enterprise server / 10 (Slash 10) standard odbc drivers
My odbc ini file entries are:
[ODBC]
Trace=0
TraceFile=odbctrace.out
TraceDll=/app/oracle/product/10.1.3/OracleBI/odbc/lib/odbctrac.so
InstallDir=/app/oracle/product/10.1.3/OracleBI/odbc
UseCursorLib=0
IANAAppCodePage=4
[ODBC Data Sources]
AnalyticsWeb=Oracle BI Server
Cluster=Oracle BI Server
SSL_Sample=Oracle BI Server
idcbicsvfiles=Odbc Text driver
[idcbicsvfiles]
Description = Odbc Text driver
Driver = Odbc Text driver
Directory = /data/oracle/OracleBIData/idc
#ReadOnly = No
#CaseSensitive = No
#Catalog = No
ColumnSeperator = ,
#Trace = 1
#Tracefile =/data/oracle/OracleBIData/odbctrace.txt
#Username      = oracle
#Password      = ''
[AnalyticsWeb]
Driver=/app/oracle/product/10.1.3/OracleBI/server/Bin/libnqsodbc.so
Description=Oracle BI Server
ServerMachine=local
Repository=
Catalog=
UID=
PWD=
Port=9703
The csv files I want to use are in the directory /data/oracle/OracleBIData/idc to which I have set up a working and checked connection ([idcbicsvfiles]) on the linux machine itself.
The error message I get when I select view data in the physcial layer is:
[NQODBC][SQL_STATE: HY000][nQSError: 10058] A general error has occurred.
[nQSError: 43093] An error occurred while processing the EXECUTE PHYSICAL statement.
[nQSError: 16023] The ODBC function has returned ans error. The database may not be available, or the network may be down.
Please can anybody give me a clue on how to get this working e.g. a working odbc.ini file from your own installation (and/or a tip for the odbc driver choice/configuration)
P.S. I know this is not supported by Oracle but can not imagine, that nobody is using this.

Hi,
Chekc this...Re: Is there ODBC driver for excel flat file in Unix Box
Re: OBIEE to use a CSV file as a data source on Linux
Regards,
Srikanth
Edited by: Srikanth Mandadi on Oct 8, 2010 2:50 AM

Similar Messages

  • Accessing a csv file on a resin web server

    Hi guys,
    Im trying to access a CSV file on a resin web server using the following:
    File csvfile = new File("http://localhost:8080/FYP/"+WebCourse2+".csv");
    and it does not work
    when I use a local file location as follows, it works fine:
    File csvfile = new File("C:\\QMULFOLDER0203\\FYP\\Database\\"+WebCourse2+".csv");
    Am i doing something wrong?
    Thanks
    tzaf

    the only prob with that is that i use the methods exists() and isFile() to make sure the csv file is available and is a file
    File csvfile = new File("C:\\QMULFOLDER0203\\FYP\\Database\\"+WebCourse2+".csv");
                                                           //File csvfile = new File("http://localhost:8080/FYP/"+WebCourse2+".csv");          
                                                           //out.println("http://localhost:8080/FYP/"+WebCourse2+".csv");
                                                           try
                                                           if (csvfile.exists() && csvfile.isFile())
    can I do this with the URL class??
    thanks
    tzaf

  • Reading a csv file within a for loop

    Hi guys,
    Im trying to read a csv file within a for loop and the while loop only seems to be getting executed once rather than the number of times that is specified.
    for(int i=0; i<paramValues.length;i++)
    String StudentNo = paramValues4;
    out.println("StudentNo="+StudentNo);
    BufferedReader in = new BufferedReader( new InputStreamReader( conn2.getInputStream()));
    String readLine;     // stores a line from the file as a string//used to get rid of the first line which has course name
                                                      readLine = in.readLine();
                                                                     int NumberOfElementsInArray=16;
                                                           String[] data;
                                                                     data = new String[NumberOfElementsInArray];
                                                                     data[0]=> StudentNo
                                                                     data[1]=> Surname
                                                                     data[2]=> Firstname
                                                                     data[3]=> ExamNo
                                                                     data[4]=> YrOfStdy
                                                                     data[5]=> ProgOfStdy
                                                                     data[6]=> Fld1
                                                                     data[7]=> Fld2
                                                                     data[8]=> DegType
                                                                     data[9]=> EnrolStatus
                                                                     data[10]=> StaffAdvNo
                                                                     data[11]=> Tutor
                                                                     data[12]=> Fld3
                                                                     data[13]=> Fld4
                                                                     data[14]=> Fld5
                                                                     data[15]=> Pegged
                                                                     data[16]                                                            
                                                                     //out.println("<table border=\"1\">");
                                                                     int datanumber=0;
                                                                     while( (readLine = in.readLine()) != null )     
                                                                          out.println("ive entered the loop");                                                       
                                                                          StringTokenizer tokens = new StringTokenizer( readLine, ",", true);                    
                                                                          boolean prevTokenComma = true;
                                                                          boolean emptyValue = false;
                                                                          String aValue = null;
                                                                          datanumber=0;                                                                      
                                                                          while( tokens.hasMoreTokens() )          
                                                                               aValue = null;
                                                                               String token = tokens.nextToken();
                                                                               token=token.trim();
                                                                               //if the token does not equal to a comma
                                                                               if( !token.equals(",") )               
                                                                                    aValue = token;                    
                                                                                    prevTokenComma = false;                    
                                                                                    emptyValue = false;     
                                                                               else if( token.equals(",") && prevTokenComma )               
                                                                                    prevTokenComma = true;                    
                                                                                    emptyValue = true;               
                                                                               else //( token.equals(",") && !prevTokenComma )               
                                                                                    prevTokenComma = true;                    
                                                                                    emptyValue = false;
                                                                               if(emptyValue)
                                                                                    aValue = "";
                                                                               // Printing values
                                                                               if( aValue == null)
                                                                                    //do nothing
                                                                               else if (aValue.equals("") )
                                                                                    aValue="&nbsp";
                                                                                    data[datanumber]=aValue;
                                                                                    //out.println("datanumber="+datanumber);
                                                                                    //out.println("<td> aValue: "+aValue+"</td>");
                                                                                    datanumber++;
                                                                               else
                                                                                    data[datanumber]=aValue;
                                                                                    //out.println("<td> aValue: "+aValue+"</td>");
                                                                                    //out.println(datanumber);
                                                                                    datanumber++;                                                                                
                                                                          out.println("data[0]="+data[0]);
                                                                          //out.println("data[3]="+data[3]);
                                                                          //out.println("ExamNo="+ExamNo);
                                                                     }//end while
                                                                     in.close();
    }//end for loop
    When I print the variable student no at the beginning of the for loop it prints the different studentno's so the for loop is fine, but the while loop gets executed once. Does anyone know why????????/
    Thanks
    Tzaf

    PROBLEM SOLVED....
    Basically the following declarations have been done within the for loop....
    URL url2 = new URL ("http://localhost:8080/FYP/CSVFILES"+Year+"/"+WebCourse2+".csv");
                                                                     URLConnection conn2 = url2.openConnection();
                                                                     HttpURLConnection uc = (HttpURLConnection)conn2;
                                                                     uc.connect();
                                                                     try
                                                                          responseCode = uc.getResponseCode();
                                                                          out.println("Response code1: " + responseCode+"\n");
                                                                     catch(IOException e)
                                                                          responseCode = uc.getResponseCode();
                                                                          //out.println("Response code2: " + responseCode+"\n");
    thanks
    anyway
    tzaf

  • What are the Jar files required,that for accessing the Type 4 Drivers.

    what are the Jar files required,that for accessing the Type 4 Drivers.
    Regards,

    Well it is Database Specific.
    Howevr there are few 3rd party .jar (Derby) which you can use it for accesing some standard databases.

  • How do i save and access a csv file on my ipad when filling in a smartform. Currently only option goes to photos

    Trying to save a csv file on my ipad so I can auto populate into a SmartForm. It will only allow me to access photos when I hit the import button

    search the app store for PDF Writer. I've found a lot that will convert documents to PDF, but none yet that will write within the PDF. One thing you want to avoid are cloud based apps. Any of them that talk about editing on the cloud, etc, aren't going to be as standalone as you want.
    It's possible, if you can take your template PDF, turn it into a word document that you can edit, you can then convert that to PDF...kinda a workaround way to do what you want. And apps that convert to PDF are much easier to find

  • How to configure sync rules involving a CSV file and portal self service

    Hello,
     I need to configure some FIM sync rules for the following scenario:
     User account details are entered from a HR CSV file and exported to AD  Users have the ability to modify their own AD attributes in the
    FIM portal (there is not a requirement for them to view their  HR CSV data in the portal). The FIM portal modifications will be exported to AD as expected.  
    My setup is as follows:
    CSV file - name, last name, employee ID, address.
    CSV MA - has direct attribute flows configured in the MA between the data source and MV Portal self service attributes –      
    users can edit mobile, display name and photo
    I've also set the CSV MA as precedent for the attributes
    FIM MA – attribute flows defined for MV to Data Source as usual (i.e. firstname to firstname, accountname to accountname, etc).
    AD MA – no attribute flows defined as inbound and outbound sync rules have been configured in the portal using the Set\MPR\Triple.
    I’m thinking of using the following run profiles:
    CSV MA – full import and delta sync (imports HR data)
    FIM MA –  export and delta import (imports portal changes)
    FIM MA – delta sync (syncs any portal changes)
    AD MA – export and delta import
    If my understanding is correct this should sync HR data from CSV to AD, as well as user attribute self service updates from the portal to AD.
    If I wanted to just do a HR CSV sync could I get away with just steps 1 & 4 ? (presumably not as my rules are in the FIM portal?)
    If I wanted to do just a portal sync, could I get away steps 2-4?
    Any advice on how to improve my setup is much appreciated - cheers
    IT Support/Everything

    The truth is that your design should be done in the way that it doesn't matter which profiles in which order you will execute. At the end, if you will run all import, synch and export profiles on each data source you should get same result. This is beauty
    of synch engine here.
    Your steps from 1-4 will synch data to your data sources and at the end will give you expected result. But not because of the order you are executing them but because of correct attribute flows. If flows from CSV file and from FIM portal might be done for
    the same attributes you need to think also about attribute precedence.   
    Tomek Onyszko, memberOf Predica FIM Team (http://www.predica.pl), IdAM knowledge provider @ http://blog.predica.pl

  • Need help Configuring Group Accounts in file_grpact_fstmt.csv file.

    Hi,
    I'm a technical person trying to configure Financial Analytics for the first time with very little help from Finance functional person.we've Oracle R12 implemented in our organization.
    I need to know about the configuration of file_grpact_fstmt.csv file.
    As i can see from our Chart of accounts, all our group accounts fall under these 5 categories
    Ownership/Stockholder's Equity
    Assets
    Expense
    Revenue
    Liability
    so now how do i categorize these group accounts in file_grpact_fstmt.csv file under the Financial Statement Items codes like AP,AR,COGS,REVENUE,TAX,OTHERS?
    Please help.
    Somewhere in the forum i read that (please check the link below), liability accounts should be marked as "AP" and expense accounts will go as "OTHER" ..if thats correct then how do i mark the Equity,Assets and Revenue accounts?
    AP Transaction Status POSTED/UNPOSTED
    Edited by: Oradev on Feb 20, 2011 9:18 PM

    Hi,
    There is not a real rule-of-thumb you can use here. Without knowledge of how the chart-of-accounts is implemented or used by your company's financial team, it is near to impossible to correctly configure the group account codes. In my experience, the financial controller(s) is/are the one(s) best equiped to assist with this issue.. I would strongly advice you to include his/her/them in configuring Financial Analytics..
    Good luck!
    Edited by: m.siliakus on Feb 21, 2011 3:17 PM
    Edited by: m.siliakus on Feb 21, 2011 3:18 PM

  • Accessing a .csv file in vi while the data is written by 3rd party java applicaito​n

    Hi
    I have a requirement like below explained.
    A java applicaiton reads data from hardware and writes in a .csv file. This java applicaiton is triggered by a button click in Labview VI.
        --> cmd window   -- cmd /C java Client n
    the data will be read from hardware and written to the file per every second.
    In the labview vi, we are reading the .csv file simultaneously and plotting the graph. 
    The above operations need to happen simultaneously. 
    When we tried this, we are geeting the "File Not Found Excpetion(the file is used by other process) in java application.
    Can anyone help me why this might be happening in Labview. I tried this with a "c" applicaiton instead of Labview and it is working fine.
    Problem observed only with labivew.
    Regards
    Kris

    Naah, I said, that will never work.  But to my shock and (pleasant) surprise, it does!  Here is a snippet of a little routine I cobbled together using LabVIEW for both the Writer and the Reader.
    The Writer is on top.  It creates a Temp.txt file on my Temp directory, deletes it if it is already there, then opens it for writing.  There's a boolean "Done" flag that tells me when the Writer finishes, so I clear it before entering the Writing Loop.  Here, every half-second, I write the sequential numbers 0 .. 9, with a New Line to create a Text File of Lines.  When I'm finished, I close the file.
    Below this is the Reader Loop, designed to start after the Writer Loop has opened (and created) the file.  Here we open the same file in Read-Only mode.  The Reader Loop also goes 10 times (I could have built in a Stop condition, but this is only a Proof-of-Concept).  The loop is initialized with the current File Position (0) in a Shift Register.  The inner While Loop is a "Wait for Data to Appear", a loop which checks 10 times a second to see if the File Position has changed, exiting when it does (meaning the Writer has Written Something).  It then reads a line from the File (the Read Text function has its "Read Lines" property set) and displays it.
    When you run this, you will see the Reader's output, Line, count up, 0 .. 9, and then the program stops with no errors.  What fun!
    Bob Schor

  • How to upload CSV file w/o ,, for the last line

    Hi Experts,
    As part of one interface uploading the csv file (4coulmns) manually using the TCODE: CSCA_FILE_COPY.
    After uploading when i see in the AL11 as it is csv file it is filling the , in each space.
    But my issue while running the interface (because of logic in it) checking for the hash total in the last line where (record count, hash total) only 2 items should come but because of manual upload adding the (record count, hash total, , ,) another two spaces.
    Where program not moving further becasue the it is alway comparing the amounts (1000.00 not matching with 1000.00, , ) it is not processing. In production files directly load in to unix server so no issues and i can't ask to change the program code...because iam not following the process. As part of testing i've to do manually only.
    Please suggest the workaround for this.
    Is it possible to change the contents directly in AL11 directly....then HOW ?
    or
    How to create a csv file w/o , , in the last line (may be it is not possible) ?
    Thanks for your replies in advance.
    Regards
    VVR

    I don't think you can edit from AL11, nor creating a CSV without those commas at the end because are created to state fields with empty value.
    You have 6 columns filled with values but for the last line you only fill the first four. It is expected to appear , , for the last 2 columns on the last line.
    I can only suggest keep doing it manually before uploading the CSV file... or... you are saying you can't change the program.
    How about upload all CSV files... then writing another program to get those files from AL11 and delete the spare commas at the end line?
    Cheers,
    Andres.

  • Cannot access MS office files on OS X partition from windows partition running bootcamp s

    I've installed a trial version of Microsoft Office 2010 on the Windows partition of my iMac.  Microsoft Office 2011 for Mac is installed on the OS X partition. When I try to open a file on the OS X partition an error displays saying the file is corrupted or the server is not available.  If I transfer the file to Windows it opens fine.  Other types of files such as a pdf or photo formats open fine with the appropriate Windows programs accessing the OS X partition.  Is this a limitation of the trial version or a basic limitation of Office for Windows?  Office for Mac can open a file on the Windows partition with no problem.
    Thanks for any help.

    MSOffice for Windows usually create a temporary hidden file in the same location as the file you open.  Since Windows can't write to the Mac partition, I'm wondering if that's the reason for the error.  (Anyone who knows for certain, correct me if I'm wrong.)
    OSX can natevely read and write FAT32 and read NTFS so I'm assuming that the Office for Mac development team made allowances for opening from a read-only NTFS partition (e.g.: Boot Camp partition.)  Of couse, if your Boot Camp partition is FAT32, then there would be no issue with creating any hidden temporary files.

  • Unable to Load CSV file with comma inside the column(Sql Server 2008)

    Hi,
    I am not able load an CSV file with Comma inside a column. 
    Here is sample File:(First row contain the column names)
    _id,qp,c
    "1","[ ""0"", ""0"", ""0"" ]","helloworld"
    "1","[ ""0"", ""0"", ""0"" ]","helloworld"
    When i specify the Text Qualifier as "(Double quotes) it work in SQL Server 2012, where as fail in the SQL Server 2008, complaining with error:
    TITLE: Microsoft Visual Studio
    The preview sample contains embedded text qualifiers ("). The flat file parser does not support embedding text qualifiers in data. Parsing columns that contain data with text qualifiers will fail at run time.
    BUTTONS:
    OK
    I need to do this in sql server 2008 R2 with Service pack 2, my build version is 10.50.1600.1.
    Can someone let me know it is possible in do the same way it is handle in SQL Server 2012?
    Or
    It got resolved in any successive Cumulative update after 10.50.1600.1?
    Regards Harsh

    Hello,
    If you have CSV with double quotes inside double quotes and with SSIS 2008, I suggest:
    in your data flow you use a script transformation component as Source, then define the ouput columns id signed int, Gp unicode string and C unicode string. e.g. Ouput 0 output colmuns
    Id - four-byte signed
    gp - unicode string
    cc - unicode string
    Do not use a flat file connection, but use a user variable in which you store the name of the flat file (this could be inside a for each file loop).
    The user variable is supplied as a a readonly variable argument to the script component in your dataflow.
    In the script component inMain.CreateNewOutputRows use a System.IO.Streamreader with the user variable name to read the file and use the outputbuffer addrow method to add each line to the output of the script component.
    Between the ReadLine instraction and the addrow instruction you have to add your code to extract the 3 column values.
    public override void CreateNewOutputRows()
    Add rows by calling the AddRow method on the member variable named "<Output Name>Buffer".
    For example, call MyOutputBuffer.AddRow() if your output was named "MyOutput".
    string line;
    System.IO.StreamReader file = new System.IO.StreamReader( Variables.CsvFilename);
    while ((line = file.ReadLine()) != null)
    System.Windows.Forms.MessageBox.Show(line);
    if (line.StartsWith("_id,qp,c") != true) //skip header line
    Output0Buffer.AddRow();
    string[] mydata = Yourlineconversionher(line);
    Output0Buffer.Id = Convert.ToInt32(mydata[0]);
    Output0Buffer.gp = mydata[1];
    Output0Buffer.cc = mydata[2];
    file.Close();
    Jan D'Hondt - SQL server BI development

  • How to write .CSV file to import device placeholder into Lion Server Profile Manager?

    I'm now using Mac Mini with Lion Server (10.7.4). I've already setup a server with Profile Manager to manage some iOS devices.
    Now I need to add many devices into Profile Manager. From some articles, (for example http://my.safaribooksonline.com/book/-/9780132778879/chapter-4dot-managing-accou nts/ch04lev1sec3), I found that I can use .CSV file to import many device placeholders at a time. So I create a .CSV file "devices.csv" with the content as the following:
    iPhone001,12345ABCD12,,,
    Then I import this file to "Devices" in Profile Manager, but in vain. It says that the placeholder is invalid.
    If there's any one could provide some exemples? Thanks a lot.

    Hi Nien-Yi Ho,
    A little late, but perhaps someone else can benefit ...
    The way I did this, is:
    - create an empty Excel spreadsheet
    - add 5 headers in the first row: DeviceName, SerialNumber, IMEI, MEID, UDID
    - in the next rows add your devices and specs (for the iPhones and iPads I only added DeviceName, SerialNumber and IMEI specs)
    - IMPORTANT: save the file as a Windows CSV file.
    If you import the CSV file now, all should go well.

  • How do place a file for download from our server?

    I have some pdf forms that I place on a site, but I had the set up as hyperlinks to webpages so that they opened up in browsers. This isn't good because the pdfs are forms to be filled out and we've had a variety of problems with people trying to fill them out or print from the browser.
    I want them to download the file to their harddrive and open in abode reader. I saw from another post that you can point the hyperlink to a file but I don't want them to download from my computer but from our server. How do I do that?

    As Dani notes, by default the user's browser is going to decide what to do with a PDF. Most browser's today choose to display a PDF inline.
    There's no seamless way to force a download of a PDF file within Muse, but it's possible to do by writing some PHP or editing some configuration on your webserver.
    http://www.southwoodsalt.com/force-browsers-to-download-files-with-link/#.UfvfyBYimS0
    http://stackoverflow.com/questions/2598658/how-to-force-a-pdf-download-automatically

  • XML File not fully downloaded Fully from Application Server.

    Hi,
    I am downloading an XML file from Application server. It's only downloading partially. Below is the Declaration for target Internal table.
    DATA: BEGIN OF infile OCCURS 0,
            line(65535) TYPE c,
          END OF infile.
    SAP does not allow more than 65535 characters for a data type of type C. So its only downloading till that length.
    If I am using type as STRING, its downloading in different format. Also its not allowing me to put these data into internal table.
    Below is my code for downloading.
    OPEN DATASET p_unix IN TEXT MODE MESSAGE msg.
        IF sy-subrc <> 0.
          MESSAGE i001(38) WITH 'Error on Open of File: ' msg.
        ELSE.
          WHILE sy-subrc = 0.
            READ DATASET p_unix INTO infile.
            CHECK sy-subrc = 0.
            APPEND infile.
            ENDWHILE.
          CLOSE DATASET p_unix.
    Is there any way to convert string into XML format & put it in the internal table?
    Kindly suggest me any other way, so I can download the entire set of file into the internal table.
    Thanks,
    Debi.

    Hi ,
    Try downloading the file from the application server using the TCode CG3Y on your local machine.
    Then use the FM GUI_UPLOAD to upload the contents in an internal table.
    Thanks,
    Manish

  • FM to read files starting with TEST(for example) from Unix server

    Hi all,
    Is there a FM to read all the files which start with TEST (for example) from the Unix server?
    Requirement is if we put TEST* in the selection screen for the filename, it should read all the files which start with TEST from the default Unix path.
    Thanks and regards,
    Anishur

    Function Modules
    http://www.erpgenie.com/abap/functions.htm
    http://www.sapdevelopment.co.uk/fmodules/fmssap.htm
    http://www.erpgenie.com/abap/index.htm
    http://www.geocities.com/victorav15/sapr3/abapfun.html
    Rewards if useful.........
    Minal

Maybe you are looking for

  • Mac mini connected to an LG ultrawide

    Hi - not sure if anyone is having this problem, but I have a 2010 Mac Mini hooked up to an LG 29EA93 ultrawide monitor. I initially hooked it up via HDMI and realized that, according to the specs, that HDMI only supports 1920 by 1200. The monitor is

  • Problem while emailing after exporting as PDF.

    I have this strange problem. Basically, we have this VB6/SQL2005 application that exports crystal report into pdf attaches it to email and then send it in email...now most of the time and i would say about 95% of time, the email goes fine and they re

  • How to safe start an iMac

    My iMac freezes during the boot startup. It seems to stop at the same place in the sliding bar. I wonder if a particular program is causing the problem but can't get it to start. I have had the problem for several days and so far it have eventually s

  • HP-HDX 18t w/ Vista 32 won't retain default sound source after sleeping

    That about sums it up. It's a brand new HP HDX 18t laptop running Vista32. It's setup with HDMI to our flat-panel TV and we have a Turtle Beach Audio Advantage-Micro usb card so we can use the SPDIF digital audio passthrough to get the 5-1 dolby soun

  • Chain Adapters

    Is it possible to chain adapters? I have a Mini-DVI to DVI and a DVI to VGA adapter. Is this configuration possible? VGA Cable --> VGA/DVI adapter --> DVI/Mini-DVI adapter --> Macbook Thanks