High performance CSV export

Hi,
I have been looking for a way to export huge datasets to CSV format for import with MySql.
As sqlplus SPOOL turned out to be slow and difficult to use, I ended up coding my own importer using the OCCI library.
I successfully compiled my code under Red Hat Enterprise Linux 6, 64 bit, and Oracle Instant Client 12.1. But as it only uses C++ STL and OCCI, it should as well build under other environments (e.g. Windows).
Here's the code:
* ociexport.cpp - High performance ORACLE to CSV export (using OCCI and STL)
* This program takes the ORACLE connection information from the following
* environment variables:
* ORACLE_USER, ORACLE_PASS, ORACLE_CONN
* Fields are exported in a CSV with delimiter ';'. Semicola within the fields
* are escaped with '\;'. Newlines and tabs in the fields are replaced by blanks.
* Empty fields and NULL values are exported as '\N' for easy MySQL import.
* CLOBS are exported as well. BLOBS and BFILES are not supported atm.
* Don't forget to set the LD_LIBRARY_PATH to your Oracle Client libs when
* building and running this program.
* @param $1 Select-Statement
* @param $2 Output file (optional - if empty, output goes to stdout)
* @author Bert Klauninger
* @version 0.1.0
* @changelog
*    2013-12-13 - Created
*    2013-12-16 - Added CLOB streaming support
#include <cstdlib>
#include <cstring>
#include <fstream>
#include <iostream>
#include <string>
#include <vector>
#include "occi.h"
using namespace oracle::occi;
using namespace std;
#define BUFFER_SIZE        1024                        // Maximal characters of a LOB to be exported
* Escape all occurrences of ';' and convert newlines and tabs to blanks
string csv_escape(string src) {
    string result;
    const int imax = src.length();
    for (int i = 0; i < imax; ++i) {
        switch (src[i]) {
            case '\n':
            case '\r':
            case '\t':
                result += ' ';
                break;
            case ';':
                result += '\\';
                result += ';';
                break;
            default:
                result += src[i];
    return result;
* Execute a query and write CSV to the given file.
*    NB: Empty fields are exported as NULL values!
void select_into(Connection *con, string sql, string file) {
    if (! con) {
        return;
    bool fo = ! file.empty();
    ofstream o;
    if (fo) o.open(file.c_str(), ofstream::out);
    Statement *s = con->createStatement(sql);
    ResultSet *r = s->executeQuery();
    vector<MetaData> m = r->getColumnListMetaData();
    const int cols = m.size();
    if (fo) cout << "Result has " << cols << " cols" << endl;
    int cnt = 0;
    while (r->next()) {
        string line;
        ++cnt;
        /* Stupid ORACLE starts numbering at 1, not 0 */
        for (int i = 1; i <= cols; ++i) {
            string col;
            /* ...but: Metadata vector starts at 0 */
            int t = m[i - 1].getInt(MetaData::ATTR_DATA_TYPE);
            if (t == OCCI_SQLT_CLOB) {
                /* Get the CLOB object via stream */
                Clob clob = r->getClob(i);
                if (! clob.isNull()) {
                    clob.open(OCCI_LOB_READONLY);
                    int len = clob.length();
                    Stream *instream = clob.getStream();
                    char *buffer = new char[BUFFER_SIZE];
                    memset(buffer, 0, BUFFER_SIZE);
                    int r = 0;
                    do {
                        r = instream->readBuffer(buffer, len);
                        for (int i = 0; i < r; ++i) {
                            col += (char) buffer[i];
                    } while (r != -1);
                    delete[] buffer;
                    clob.closeStream(instream);
                    clob.close();
            } else if (! r->isNull(i)) {
                /* Try to get field value as string */
                col = r->getString(i);
            if (col.empty()) {
                line += "\\N";
            } else {
                line += csv_escape(col);
            if (i < cols) {
                line += ';';
        if (fo) {
            o << line << endl;
        } else {
            cout << line << endl;
    s->closeResultSet(r);
    con->terminateStatement(s);
    if (fo) cout << cnt << " rows exported" << endl;
/*** MAIN ***/
int main (int argc, char* argv[]) {
    if (! (argc == 2 || argc == 3)) {
        cerr << "Usage: " << argv[0] << " sql-statement [output-file.csv]" << endl << endl;
        cerr << "Output file uses column separator ';'. Semicola are escaped using '\\;'." << endl;
        cerr << "NULL values and empty fields are exported as '\\N'." << endl;
        cerr << "If no output file is specified, quieted output is sent to stdout." << endl;
        cerr << "Login credentials can be set via the following environment variabes:" << endl;
        cerr << "ORACLE_USER, ORACLE_PASS, ORACLE_CONN" << endl << endl;
        return 1;
    const string user = getenv("ORACLE_USER");
    const string pass = getenv("ORACLE_PASS");
    const string osid = getenv("ORACLE_CONN");
    const string sql = argv[1];
    const string outfile = (argc == 3) ? argv[2] : "";
    bool fo = ! outfile.empty();
    Environment* env = Environment::createEnvironment(Environment::DEFAULT);
    int ret = 0;
    try {
        if (fo) cout << "Connecting as " << user << "@" << osid << endl;
        Connection* const con = env->createConnection(user, pass, osid);
        if (fo) {
            cout << "Executing query " << sql << endl;
            cout << "Writing results to " << outfile << endl;
        select_into(con, sql, outfile);
        if (fo) cout << "Closing connection" << endl;
        env->terminateConnection(con);
    } catch (SQLException ea) {
        cerr << "Error: " << ea.what();
        ret = 1;
    Environment::terminateEnvironment(env);
    return ret;
My Makefile:
ociexport: ociexport.cpp
        LD_LIBRARY_PATH=/usr/lib/oracle/12.1/client64/lib \
                gcc -Wall -g -I /usr/include/oracle/12.1/client64 \
                -L /usr/lib/oracle/12.1/client64/lib \
                -o bin/ociexport ociexport.cpp \
                -lclntsh -lnnz12 -locci
Program call:
$ export LD_LIBRARY_PATH=/usr/lib/oracle/12.1/client64/lib
$ export ORACLE_USER=your_user
$ export ORACLE_PASS=your_pass
$ export ORACLE_CONN=your_connection_string
$ ./ociexport "SELECT * FROM applications" > export.csv
Best regards
Bert

Hi
Give a look to the following book. You'll find the answer for some questions...
http://www.theserverside.com/books/masteringEJB/index.jsp
Chris

Similar Messages

  • Multiple CSV exports from the one button or pl/sql procedure?

    I need to have multiple csv exports from the one press of a button. The easiest way I found to do this is it to use javascript to popup three windows, each as a CSV link. This is a bit ugly though, and leaves the browser popup windows open when the file has been downloaded.
    I guess I could also make a solution based on branching, but I think that would be difficult to maintain and reeks of bad design (im not a fan of this spagetti GOTO style code!).
    I implemented Scott's custom CSV as found here: http://spendolini.blogspot.com/2006/04/custom-export-to-csv.html
    However I would like to know if its possible to download more than one file using this method. I could not work out how to do this .
    Has anyone got any ideas? Simply repeating the code puts the second table into the original csv file. Is there a way to 'reset' the htp writer or smoething?
    Any help greatly appreciated,
    Alex

    Sorry for the confusion - I guess I mean its easy in .NET because you can simply compress files together and then send 1 zip file down as the response. See http://www.developer.com/net/net/article.php/11087_3510026_2 for details.
    I guess I could ask how to do this in APEX - but it seems to me that my original wording addresses the concept at a much more abstract level. I may not find the best solution for my problem if I just asked 'how can I dynamically zip together three tables as seperate files and send them to the client?'. I also suspect that this method is not possible in APEX without custom packages. Please prove me wrong!
    I guess even if I could find some kind of javascript that didnt open a new window, but was a direct download to the CSV, that would be a good compromise. At the moment when you click on the link, three windows come up and stay blank until the files are ready for downloading. Then after the files have been downloaded the windows must be shut manually. Yes, I could use javascript to make the windows 1x1 pixel perhaps, and then shut them after a predetermined timeframe - but this is hardly an elegant solution!
    Thanks for your responses.

  • Issues with "Higher performance" setting on Macbook Pro with external monitor

    Hi all,
    I rarely used the "Higher performance" setting in the Energy Saver pane of System Preferences.
    I use my MB connected with an external monitor, with its own screen closed. I tried to switch that setting on and the external monitor seems to repeatedly turn off and on. This strange behaviour vanishes if I open the MB's screen, using it in a double monitor configuration.
    Did anyone hear about some similar problem?
    p.s.: I don't know if this is the exact location for this thread, any suggestions is welcome

    It was set to 1080p, 1920x1080 did not show up as an option (even when holding the option key). 1080p should be equivlant. As as experiment I grabbed another monitor that was not being used. It is a 22 inch LG with a maximum display of 1920x1080, and its currently set to 1920x1080. The issue is a little different, was not detected as a TV this time, but the screen still looks blurry. There may be some improvement but not much.

  • Report + Jquery + CSV export = jquery result lost

    We have some IR reports with breaks. We put these next to eachother on specific headers with jquery code in the report. But when we do an export i want the same results as shown in the report. The changes made in Jquery get lost when i do a CSV export. Is there some way to get the same columns next to each other like in the report on the screen? or is there some other way to get the same result using something other than jquery? We are now want to making a function in DB using dynamic sql that returns a query to apex report but there should be some easier way in Apex than this no?
    Thanks in advance

    @ TexasApexDeveloper i asked this question on linkedin Apex group before. But not here. So there no way to show the breaks next to eachother in the CSV file? with or without use of Jquery?
    @ Tyson: no sample app.
    Standard behavier of IR report:
    department :1
    col1 col2 col3 col4
    BREAK
    col1 col2 col3 col4
    BREAK
    col1 col2 col3 col4
    BREAK
    col1 col2 col3 col4
    BREAK
    department :2
    col1 col2 col3 col4
    BREAK
    col1 col2 col3 col4
    BREAK
    With Jquery made it look like this
    department 1
    col1 col2 col3 col4 BREAK col1 col2 col3 col4 BREAK col1 col2 col3 col4 BREAK col1 col2 col3 col4 BREAK
    department 2
    col1 col2 col3 col4 BREAK col1 col2 col3 col4 BREAK col1 col2 col3 col4 BREAK col1 col2 col3 col4 BREAK
    i want the data like this in CSV, so that then user opens this in excel the data is presented horizontaly per department:
    department 1
    col1 col2 col3 col4 BREAK col1 col2 col3 col4 BREAK col1 col2 col3 col4 BREAK col1 col2 col3 col4 BREAK
    department 2
    col1 col2 col3 col4 BREAK col1 col2 col3 col4 BREAK col1 col2 col3 col4 BREAK col1 col2 col3 col4 BREAK

  • Ssrs 2008 r2 csv export

    In an existing ssrs 2008 r2 report, I have a question about the csv export.
    When the report was originally written, I only expected the users to export the data to excel.
    Basically the issue is, based on the states where the customers exist. If the customers exists on the east coast, I version of the report is displayed. If the users exist in the Midwest, another version of the report is displayed. if the users exist on the
    west coast a third version of the report is displayed.
    However now if the users want to export the data to csv (comma delimited), all 3 versions are appearing in the csv file.
    I do know that when I hide a tablix, that does not export the data to a csv file. However when I pick the option to show or hide a tablix based upon the expression, the tablix is exported to a csv file.
    Is there a way to export the columns and data that actually apply to the particular customer. I do not want all the data columns for east coast, Midwest, and west coast to appear on the csv export?
    If there is a way to not display the extra data columns and rows, can you tell me how to accomplish this goal? Showing me code and/or a url would also be helpful.

    Hi Wendy,
    When exporting a report to CSV format in Reporting Services, the visibility of a report item/object is only controlled by the Property DataElementOutput. If the DataElementOutput property of a report item is set to Auto or Output, it will be exported to
    the CSV file, otherwise, the report item won’t be exported to CSV. Currently, the DataElementOutput property is hard-coded which doesn’t allow us to set the property based on an expression. In this way, it is impossible for different users to have different
    exported CSV files in your scenario.
    Here, I would suggest you submitting a wish at
    https://connect.microsoft.com/sql.
    Connect site is a connection point between you and Microsoft, and ultimately the larger community. Your feedback enables Microsoft to make software and services the best that they can be, and you can learn about and contribute to exciting projects.
    Regards,
    Mike Yin
    If you have any feedback on our support, please click
    here
    Mike Yin
    TechNet Community Support

  • Looking for a high-performance and reliable NAS

    Hi,
    I have been searching for a high-performance and reliable SOHO NAS storage but I have seen very mixed and contradicting reviews for the products I have looked at so far. From QNAP to Synology to etc.
    However I've not found a good review for Promise SOHO NAS devices such NSx700 and NSx600.
    Is anybody here using them? If so how would you rate these devices?
    Thanks in advance,
    Behrang

    My g/f is using a Synology 1511+ with 2TB WB black drives - set up for 2 disk redundancy.
    http://www.synology.com/us/products/DS1511+/index.php
    She has her lightroom images on there and it works very well with her MBP 10.6.8
    If you have specific questions, please ask
    Michael

  • MSI GS60 Ghost Pro Golden Edition - A Combination of Stylish and High Performance.

     I have no idea who can say no to this shining and charming beauty....
    The BackStory
        When I studied at graduate school, I bought my first laptop, Asus F3J, of my life and brought it to school everyday. Actually it was a 2.9kg around laptop for gaming and I felt like carry a heavy brick. It was quite inconvient and kind of suffer for a person like me who was not doing fitness. After I graduated from school and was being a member of society, I decided to find a  laptop that was much lighter and easier to bright to work. Toshiba R830 was what I chose, but this time, the performance of playing some hardcore game wasn’t good enough since it doesn’t have a discrete graphics card.
    I started to believe there is a trade off between perforamnce and weight of laptop with these two experience. Until one day, I came across with MSI GS60 Ghost Pro at Computex 2014, it was a notebook weigh just around 2kg and uncompromising with high performance. In more detail, It had core I7 CPU、High-end GTX graphics card and two 256MB SSD within it. From that day, I know it is the notebook am looking for, it is a note book I can bring to work and also play game at home. Furthermore, MSI is going to issue the limited Golden edition of it around the end of year, it gave me one more reason to buy this “good stuff”, because both me and my girl think gold is the most fashion color in recent year, just like iphone. So that is the backstory, now i just have the golden one and is going to unbox it for you.
    The Main Specification
    MSI GS60 Ghost Pro 2QE Golden Edition:
    •   CPU: Core i7-4710HQ (2.5GHz – 3.5GHz)
    •   OS: Windows 8.1
    •   Display: 15.6″ WQHD+, IPS (2880*1620)
    •   Memory Supplied: 16G 2*8GB DDR3L 1600
    •   Graphics: NVIDIA GeForce GTX970M GDDR5 3GB
    •   Storage: 2 x 256GB M.2 SSD + 1TB 7200RPM HDD
    •   Wireless Lan: Killer 802.11 a/c
    The Unboxing
    It is a really big one, please do drive your car while buying this NB from the shop.
    Inside the main brown shipping box, there are MSI stylish back bag and the a black branded carry case.
    The back back is grey color with good material quality, it also a simple and fashion design which is suitable for young or stylish worker. The sense of touch is also good.
    There are several layers inside the bag, even more, a shock-absorbing laptop sleeve in it. What a surprise!!
    In the big black branded carry case. There are two black box, one is for accessory. One is for the main role “GS60” with sponge to protect it as you can see in the photo.
    Let see the accessory box first, a MSI gaming mouse、a MSI/SteelSeries Flux headset、a keyboard protector and a mouse pad.
    The mouse has red light shining on both side when it connect to the laptop. It’s really a gaiming stuff! We can also see the double braided cord that improved the durability.
    As “+” and “-“ these buttons in the middle of the mouse, user can adjust the sensity of the mouse instantly by these two bottons in the game. No need to waste your time finding the adjument UI within the game. It is such a good benefit for a gamer.
    The Flux headset has ear cushions with mesh-cloth material it let you feel comfortable when wear it. You also can find out the color of the shell beside the headset can be changed, one pair is MSI design in red color, the other one is pure black one.
    It also has a convenient design that the earmuff can be folded, in order to make the headset into a plat one and easy to put in your bag.
    The performance of the headset is high-end and highs that don’t get brittle. About the deep bass, it also quite stunning. Overall, it can make the music carry listener’s heart.
    It deserves you to put it on the top of your gaming headset list.
    Here we open another black box, the GS60 is packaging by the non-woven cloth.
    There are also the power adaptor、power cord and mini displayport to D-sub cable.
    By the way, the power adapter is 25.53 mm thick and 0.52kg. weigh, 19.5V and 7.7A output.
    Moreover, there are instruction manuals、several driver CDs and even two military dog tag with MSI logo, actually I am not a military lover, so I am going to use them as a key ring but not to hang on my neck.
    Finally, let us see a royal-like GS60 Ghost Pro Golden…
    Using Mg-Li alloy as the material, its chasis gains the advantage of both ultra-light and solid.
    According to MSI official website, the idea of design comes from the stealth fighter, so it shows dynamic streamline in its design. Beside the visual effect, it makes you feel comfortable when typing due to the slimmer front edge and solid palm rest. The high gloss finish and bright gold will reflect light, so it change color slightly in different lighting condition. Overall, it delivery supreme visual treat.
    To see a more apparent golden color, I put it on my sofa with yellow background.
    Shinging and charming….
    The fancy muscle curve and hire line surface make it elegant and gorgeous.  
    The shield and the MSI logo, they are delicated design without roughness.
    The black color keycap contrast with the golden chasis apparently.
    The touchpad looks cool as well, the material it made let the surface being anti-skidding and you wont leave your fingerprint on it.
    It has Dynaudio speaker and Steelseries keyboard these two famous brand as it high-end equipment. 4 channel speakers and comfortable tactile keyboard. Moreover, the Graphics card it equiped is GTX 970M,
    One of the lastest high-end Nvidia GTX graphics card. It is the first gaming notebook to equip GTX 970M .No doubt MSI regard themselves as the leader brand of gaming.
    Sound Blaster Cinema 2+Dyanudio, Bravo~~
    Let’s check the connectivity of this beauty.
    No ports but seried of cooling vents at the rear panel,in order to let air flow and palm rest feeling.
    being better.
    The left side of it located the microphone (line out) and headphone (line in) jack, two USB 3.0 ports, the power connector socket and a security port. Also the vent close to the rear panel. The metal golden jack can isolate much more noice and enhance the reality of music as not being distortion.
    The right side of GS60 located an USB 3.0 port, card reader, Mini DisplayPort, HDMI port, and GB LAN (RJ45). GS60 Ghost Pro can support 2 external moniotr with mini display and HDMI port. When playing PRG game, you can use the main one to play game, the other one can show a walkthrough. The last one, you can even use skype or outlook to connect others.
    The front side you can see the LED to show some fuction status. Such as the battary status and bloothtooth has been turned on or not..etc.
    From bottom of this notebook you can see the battery is not removable, I guess the idea probably come from iphone. In fact, I seldomly remove the battery when I using a laptop, unless it really heavy to carry. But this time, GS60 is not heavy, so it wont be a problem to me.
    I used the scaler to measure the actual weight and ruler to see how thin it is, the result cames out 19.95mm thin and 2.1kg weight. Is it really a gaming machine I used to think of?! Such an ultra-book style.
    As I know, all the gaming notebook used to be black and silver color, there are few gaming notebook with others color. MSI this time has find its way to make a breakthrough. Of course, the creative thinking and the adventurous action is what we need in gaming world!!  
    In a word, as you can see from the picture above ,the metallic feel of it is so attractive!!It is the most stylish and creative gaming notebook I have ever seen.
    All of above are the unboxing of hardware part.let’ talk about some function and feature of this treasure.
    Dragan Gaming Center which is preinstalled in this MSI laptop. With this application, you can monitor the status of the important elements in the system. You can also quick start a game or an utility through it.
    Fn+F7="Shift", according to the official website, the key can be used to change the mode of the notebook in 3 status, the default "Sport"mode、"Comfort" mode and "Green mode", it is a adjustment function to control the CPU and GPU workload in order to balance the performance and temperature
    Use "Shift" to switch the mode you prefer.
    Green- System locks both GPU and CPU chip temp.
    Comfort- System locks GPU chip temp and dynamic adjusts the GPU chip temp
    Sport- Defaut and without any control.
    I am not afraid about the high temperature and noise from fans, so I like to use the default one, Sport mode~
    If you are playing a game in the library, please do choose Green mode to keep the fan from being busy.
    The "Shift" is MSI exclusive function, the idea comes from the shifting gear in automobile.
    Here comes another interesting feature, which is called Killer Double Shot Pro.With this function,
    the GB LAN and Wireless LAN act like combined togather and user can acquire the bandwith from both.
    Killer Netwok Manager UI
    This network technology also offers you a smooth background when playing game, because you can set the gaming applications as higher priority to use the bandwith than others. What a bravo feature!!
    The highest resolution of GS60 Ghost Pro is 2880*1620 which is also called 3K,
    as you can see from the screenshot below, when playing game you gain much more visual delight.
    With the HDMI and mini display output, you can enjoy a 1+2 matrix display function.
    With the XSplit Gamecaster preintalled in GS60, you can share your game just in time through live streaming while playing it. however, I won't use this function because I don't wanna share my skill to the others, hahaha~~
    The Steal Series Engine, it is my favorite. You can set the keypress macro、text macro or lauch application just in one key. For example, while playing Leaque of Legend, we always need to press Q、W、E、R、T
    immediately, but with keypress macro function, you can trigger them just in one key. Quite convient, isn't it?
    You can also choose the color you want for the keyboard backlit with Steal Series Egine. This function shows the gaming feature indeed.  
    That's see the multi-color backlit of it. What a show off!!!
    Below is the hardware information showed by Nvidia Experience UI and GPU Z
    GeForce GTX 970M with DDR5 3G and I7-4710HQ!!
    I can't wait to see the 3D MARK 11 P score...
    Here it got P9272 at sport mode. Outstanding!!
    For 3D MARK Fire Strike, it got 6515 at sport mode. I have to say that GS60 Ghost Pro punches above its weight.
    The result of Valley Benchmark 1.0 is below, score 1560 and FPS is 37.3.
    Testing the Call of duty Ghost with FRAPS, while play the game, it goes smoothly and the fps showed at top-left is around 100~200. As you can see the delicated scenery and character there, it seems like act in the reality.
    The sequencial read of these two SSD is 1022MB/s, it features from the Super RAID technology. Applying the RAID 0 technical usually used in server into SSD to make the IOPS much better.
    Take a look at its outward appearance again, bring it oudoor to see its color under natural light.
    Fantastic~~
    I would like to say, the GS60 Ghost Pro Golden is Lamborghini in gaming laptop!! It will be all the rage.

    This year, GTX970M performance is even better than 880M, with GS60's slim design, I can only say the advance of technology is so amazing!!!

  • ORA-20876 in csv export from interactive report = Possibly a bug?

    Hi Apex team,
    yesterday i tried to download data to csv from an interactive report. The resulting csv file contained a "ORA-20876: Stop APEX Engine" only and no other data. I played around with other reports in my application and had no problems with exports.
    After some investigation i found out that the buggy report contains a column of display type "Display as text (based on a LOV, escape special characters)". When I changed this column type to "Standard Report Column" for example, the error didn't appear anymore and the csv export contained complete data.
    Maybe this is a bug? The environment is Apex 4.1.1.00.23 on 11g (UTF-8). Is there a workaround available?
    Regards,
    Jens
    Edited by: j.gauger on 06.02.2013 14:10
    Additional Information
    The problem seems to occur only if a Shared Components LOV of type "Static" is referenced in the IR column.

    Hi,
    what happens if you take the query from IR report and create a new classic report?
    On this report enable csv export and then try the export.
    Maybe that (format) data are causing export to fail.
    Try to export just one row in your IR report (and classic report), so that you add where rownum < 2.
    Regards,
    Aljaz
    Edited by: Aljaz on 6.3.2012 23:11
    Edited by: Aljaz on 6.3.2012 23:29

  • How to give dynamic name for csv export files?

    Hi,
    how we can give dynamic file name for each csv export file? ex(&item_name.csv)
    I am using apex 4.1 and IE 6,
    thanks in advance
    regards
    Chandran

    Please help me on this
    I am using report template as a csv export..
    when user click on download link on other page he will redirect to csv export temlate page and he is is directly get the open or save window
    but dynamic title name is not working for only for this.
    regards
    Chandran

  • Strange characters in report .csv export

    Hello,
    When I enable .csv export in my report, a name like Chiràc Jaqués apears as Chirèc Jaqués in the csv.
    I understand it has to do with charactersets but I don't know how to solve it.
    Cheers
    Jacob

    Jacob,
    go to:
    Shared Components>Edit Globalization Attributes
    and set the
    Automatic CSV Encoding
    to "YES".
    Denes Kubicek
    http://deneskubicek.blogspot.com/
    http://www.opal-consulting.de/training
    http://htmldb.oracle.com/pls/otn/f?p=31517:1
    -------------------------------------------------------------------

  • How do you change an iphoto size to 300DPI high res for exporting

    How do you change an iphoto  to 300 DPI high res for exporting to email?

    Short answer: the dpi is set when you decide what size you're printing at.
    Long Answer: Dpi means nothing in the digital world of your computer. There are no "inches" to have "dots per..." Size is measured in pixels. That's the same on your camera. It doesn't take 10 x 8 or 6 x 4 shots. It takes shots measured in megapixels. For instance 4,000 x 3,000 is a 12 megapixel camera.
    Using that example, that shot from that camera has 12 million pixels. So that's how many "Dots" there are. To decide the ratio of dots per inch, you now need to decide the "inches" part. And that's printing.  Print at 10 x 8 and the dpi will be 4,000/10 or about 400 dpi. At 6 x 4 then it's 4,000/6 or 660 dpi. Work the other way: Print at 300 dpi and the resulting image will be about 13 inches on the longer side.
    So, your photo as a fixed number of pixels. Changing the dimensions of the print will vary the dpi, changing the dpi will vary the dimensions of the print.
    For more see http://www.rideau-info.com/photos/mythdpi.html
    To export: File -> Export.
    Regards
    TD
    Regards
    TD

  • Specific part number of decription/name of adapter required to use my iPad Air to my PNY High Performance 64GB High Speed microSDXC Class 10 UHS-1 up to 40MB/sec Flash Memory Card -P-SDUX64U1-GE-A

    Specific part number or decription/name of adapter required to use my iPad Air to a PNY High Performance 64GB High Speed microSDXC Class 10 UHS-1 up to 40MB/sec Flash Memory Card -P-SDUX64U1-GE-A

    I think you need this.

  • Calling the CSV Export link in a Report Template

    I'm trying to have our "download" link appear on the bottom left rather then the default which is to the far right in Look 4.
    When I look at the source code, I can see how look 3 and 4 differ - different HTML table set-up and "align=right" for the link.
    Unfortunately, looking at the source gives me the direct source for that specific report file not the command to include the csv export file, so I can't include it in a new report template design.
    Is there code I can use to include a CSV link in my report template?
    If not, how can I place the report download/csv export into my Nav bar region, or some other region?

    Michelle,
    Typically you'll find the substitution strings documented in the popup help when clicking on the item label. But this one doesn't seem to be listed there. It's documented in the online help though. Click in the help icon in the upper right corner of your page and search for CSV.
    Marc

  • German Umlaut in CSV export on mac os

    Hello,
    i have problems with the csv export when i use an apple mac. German Umlaute are not displayed correctly, neither when i open the .csv file with TextApp nor when i open it with Numbers from iWork.
    On a windows machine all is fine. Excel and every text editor i tried opens the file fine with the umlaute displaying correct.
    The application is set to automatically encode the csv and application language is set to german.
    Is there any other setting that i can change to get a correct csv export on an apple mac?
    Apex version is 4.0.2.00.07, Oracle version is 11.2.0.1.0.
    Thanks for help in advance,
    Dirk

    Hi Dirk,
    Most likely, the Automatic CSV encoding attribute is set to 'Yes' for your application. If you're running your application in German, then the CSV file will be encoded in WE8MSWIN1252.
    Can you try setting Automatic CSV Encoding to "No" (in the Globalization attributes of your application)? The CSV file will then be encoded in UTF-8 - which means that your Windows users may not open it directly but, instead, have to do a data import and specify utf-8 character set.
    Joel

  • Cannot use Higher Performance graphic settings

    Hello,
    When I originally bought my Macbook Pro three weeks ago, I had no issues with going to system preferences and selecting and saving the "Higher Performance" setting for the graphics for the Power Adapter. This visibly improved graphics performance for some programs I use.
    However, recently, I noticed graphics performance wasn't as expected when running on house power, and I noticed that in system preferences < Energy Saver, my graphics settings have been placed back to "better battery life" for the Power Adapter setting...I keep trying to change it back to "Higher Performance;" when I log out and back in, and re-check the Energy Saver settings, there's a message box saying that I still need to log out for the changes to save. I can log out multiple times and they never seem to save, with that message continuing to be there. If I reboot altogether, and go back to system preferences < energy saver, its back to "better battery life," as if I never made an attempt to select "Higher Performance." Ive tried repairing permissions, and I've tried repairing the disk using the start up DVD during the boot cycle, and nothing seems to help. Since this is a new computer with few items on it, I even did a clean install of the OS....still to no avail.
    Any ideas?
    Thanks.

    my problem is simalar but different.
    my new macbook pro summer 2009 2.53 has no option to switch beetween low and high performance in the energy saver pref pane.
    googling i found that this is not a isolated case.
    someone solved the problem extracting from a leopard dvd with pacifist the 4.0 version of the energy saver pref pane.
    all this situation may be caused by the 10.5.8 update.
    Hope tha someone at apple try to reserve some working hour to solve this problem with an update instead of pushing hard on the snow leo launch
    Max

Maybe you are looking for

  • 'Availability.h' file not found

    Xcode 4.4 Upon constrir a project, sends me the following error, "'Availability.h' file not found", please can you help me solve it,

  • Allowing Special Characters in email subject

    Hi All, This is my first post..Here is my scenario..I have an application whereby i can send emails..I tried sending anemail with special character in subject but the recipient had a different character when received..So i changed the encoding type o

  • Editing Text in files

    In Xcode I would like to build a project which alters the text in system files, so I want to find a string and replace it with another string and then possibly keep track of the change in a visible way saya display or LED. I found this very easy in a

  • Airport extreme working with external hard drive via USB port adaptor :)

    Hi Everyone. I hope this post will be helpful because I have been very frustrated with apple and their customer support and I figured this out on my own by reading all of the discussions and playing with my settings but it took me a while... I recent

  • Hiring in E-recruiting 6.0

    Hi all, I would like to know how to hire an internal/external candidate when working on the same instance i..e EREC and SAP HCM. Can we use any activity! Regards, Bharat