HS generic and long datatypes in Oracle 8i

I have a problem importing LONG datatype columns
from Hyperion Pillar to Oracle (version 8.1.6.0.0) using
the (Hyperion supplied) ODBC driver and generic HS.
The error message I get is
ORA-03001: unimplemented feature
ORA-02063: preceding line from PILLAR.WORLD
From the message it seems clear that Oracle cannot
deal with longs using generic connectivity (at least
in v. 8.1.6).
My questions:
1) Is there a workaround ?
2) Does this work in 9i ?
Notes:
1) The problem is not with the ODBC driver, as I
can see the long datatype columns using another
tool which connects to Pillar via ODBC.
2) HS has been set up correctly because all datatypes
other than long can be viewed in Oracle without any
problems.
3) Operating System: Windows NT 4.00.1381
Any help would be much appreciated!
Kailash.

Thanks for the reply.
Pillar LONGS (or MEMO, as they are referred to in Pillar)
map to ODBC SQL_LONGVARCHAR. So it appears that the
mapping is OK, and that SELECTing from these columns
should be possible via generic connectivity.
Any other ideas on what may be wrong? Any help is
much appreciated.
Thanks,
Kailash.

Similar Messages

  • CLOB and LONG datatypes

    I have a problem with needing to display fields in a report that are stored in the database as CLOB.
    The report isn't too complicated, and can be put together using folders in Admin.
    There is a table in the database that stores text from reports. Each report is identified by its case id, and then there may be a number of reports for each case (let's say 1-5 for the purposes of this explaination). There will then be three sections of text in each report, identifed in the database by section numbers.
    The fields needed are the case number (case_id), the report number (report_no), the section number (sect_no) and the section text (sect_text)
    All of the fields are numeric, except sect_text, which is a CLOB datatype.
    There are two queries, one to select the case id, min report number and first section of text and the other to select the case id, max report number and last section of text. The aim being a report that shows the start of the first report and the end of the last one.
    So, that's the background. All of the queries to select the data work fine in sqlplus. However they can't be displayed in Disco because it brings in CLOB fields as LONG, and can't group them (which it has to do for the MAX and MIN)
    I'd rather not set the whole thing up as a view on the DB, as I'd prefer to have the flexibiility of editing it in discoverer
    Any tips?

    Hi
    I do have a tip. Please take a look at this thread that I was involved in a couple of years ago:
    CLOB show up as item
    And here is another one that might help:
    Possible for Discoverer to display BLOB type documents stored in database?
    Best wishes
    Michael

  • SQL*Plus 'Copy' command and LONG datatypes

    Hi. I'm using Oracle 9.2.0.5 and wanna copy LONG to LONG without using an Interface in VB or any other programming language.
    Some of the fields (plain text) are greater than 32 Kb, and I tried the SQL*Plus 'Copy' command, without success.
    (For compatibility reasons I can't convert LONG to CLOB, I need to copy LONG to LONG)
    This is the example I'm working with:
    Table Source_LONG (ID number, DATA long)
    Table Destination_LONG (ID number, DATA long)
    The SQL*Plus command: (connected from test_database@environment)
    set long 100000
    copy from test_database/test_database@environment insert destination_long (id,data)
    I tried using both FROM and TO, but same results.
    The fields are copied into destination_long, but they are
    truncated at 32768 bytes, even with the LONG variable set to 100000. Any ideas ?
    Thanks.

    I'm working with 2 similar tables with this structure:
    SOURCE_LONG (ID number, DATA long)
    DESTINATION_LONG (ID number, DATA long)
    SOURCE_LONG contains two rows:
    ID DATA
    1 hello
    3 ....text bigger than 32kb...
    I tried your solution and it insert 2 rows, but only the ID is filled. The DATA is empty in both cases :-(
    insert into destination_long(id,data) (select id,to_lob(data) from source_long);

  • Using long vs. clob datatype with Oracle 8.1.7 and interMedia

    I am trying to determine the best datatype to use for a column I
    wish to search using the interMedia contains() function. I am
    developing a 100% java application using Oracle 8.1.7 on Linux.
    I'd prefer to use the standard JDBC API's for PreparedStatement,
    and not have to use Oracle extensions if possible. I've
    discovered that there are limitations in the support for LOB's
    in Oracle's 100% java driver. The PreparedStatement methods
    like setAsciiStream() and setCharacterStream() are documented to
    have flaws that may result in the corruption of data. I have
    also noticed that socket exceptions sometimes occur when a large
    amount of data is transferred. If I use the long datatype for
    my table column, the setCharacterStream() method seems to
    transfer the data correctly. When I try to search this column
    using the interMedia contains() function, I get strange
    results. If I run my search on Oracle 8.1.6 for Windows, the
    results seem to be correct. If I run the same search on Oracle
    8.1.7 for Linux, the results are usually incorrect. The same
    searches seem to work correctly on both boxes when I change the
    column type from long to clob. Using the clob type may not be
    an option for me since the standard JDBC API's to transfer data
    into internal clob fields are broken, and I may need to stick
    with standard JDBC API's. My customer wishes to purchase a
    version of Oracle for Linux that will allow us to implement the
    search capability he requires. Any guidance would be greatly
    appreciated.

    I've finally solved it!
    I downloaded the following jre from blackdown:
    jre118_v3-glibc-2.1.3-DYNMOTIF.tar.bz2
    It's the only one that seems to work (and god, have I tried them all!)
    I've no idea what the DYNMOTIF means (apart from being something to do with Motif - but you don't have to be a linux guru to work that out ;)) - but, hell, it works.
    And after sitting in front of this machine for 3 days trying to deal with Oracle's, frankly PATHETIC install, that's so full of holes and bugs, that's all I care about..
    The one bundled with Oracle 8.1.7 doesn't work with Linux redhat 6.2EE.
    Don't oracle test their software?
    Anyway I'm happy now, and I'm leaving this in case anybody else has the same problem.
    Thanks for everyone's help.

  • JDBC Thin Client and Oracle Long Datatype

    I am using Wepshere 4.0.2 , JDBC 2.0 (thin driver) and oracle 9i.
    I have a procedure which takes Oracle Long Datatype as its parameter.
    I use following code to execute procedure.
    String dataforsql="AAA000000003 123123 07/01/200301/01/2003";
    byte[] bytes = dataforsql.getBytes();
    InputStream is = new ByteArrayInputStream(bytes);
    cstmt=conn.prepareCall("call nscw.CPPF_SAVEPDCRAWTABLE2(?,?,?)");
    cstmt.setAsciiStream (1, is,bytes.length);
    The above code works perfectly for data upto 4000 bytes. Once the data crosses the 4000 mark.
    i get a procedure error
    ORA-01460: unimplemented or unreasonable conversion requested

    cstmt.setAsciiStream (1, is,bytes.length);Oracle's support for CLOB (and BLOB) columns using set{Ascii,Binary}Stream() generally s*cks. You'll have to read Oracle's own JDBC manual (you can read it online at http://technet.oracle.com) for whatever sequence they recommend.
    E.g. for insertion and updation of CLOBS, you're supposed to use an oracle-specific function (EMPTY_CLOB()) as the value in the INSERT/UPDATE statement, and then do a SELECT, getClob(), and use Clob APIs to update the actual column value. At least officially. Or you have to use some Oracle-specific APIs in oracle.sql.Connection and oracle.sql.CLOB.

  • Problem with Long and BigDecimal DataType convertion

    HI,
    I have an application which talk to MySQL database with Spring JDBC layer and everything runs like a champ :)
    Now I am converting the same application with the same DAO implementation to communicate with oracle database and I am having some trouble converting DataType from database to my java code.
    For example before with MySQL I would convert any Integer coming from the database to Long datatype and it worked. Now it seems that Int datatype from oracle comes as a BigDecimal type.
    I am thinking about two approaches writing an additional implementation to implement my dao interfaces or if there is some trickery that I can bypass doing that and work around these datatype incompatibility from MYSQL to Oracle.
    I can also put bunch of try and catch statements and if fails with Long try with BigDecimal, but still don't buy it as the best solution.
    Here use also code snippet:
    User u = new User();
                        u.setObjectId((Long) m.get("oid"));//This works with MYSQL backend but not with Oracle so the raw object seem to be coming as BigDecimal datatype
                        u.setLogon((String) m.get("logon"));
                        u.setPassword((String) m.get("password"));
                        u.setName((String) m.get("uname"));
                        u.setCompany(companyDAO.getById((Long) m.get("cOid")));Any help will be appreciated.
    Edited by: kminev on Mar 3, 2010 12:25 PM

    //This is my entity class
    public class User implements Comparable<User>  {
        private Long objectId = 0L;
        private Company company;
        private String logon = "";
        private String password = "";
        private String name = "";
        private boolean hasAdminRights=false;
        private boolean hasMaintenanceRights=false;
    //This is my bean class
    <bean id="userDAO" class=" com.myorg.myapp.dao.jdbc.UserImpl">
            <property name="transactionManager">
                <ref local="transactionManager"/>
            </property>
            <property name="companyDAO">
                <ref local="companyDAO"/>
            </property>
            <property name="companyAccessDAO">
                <ref local="companyAccessDAO"/>
            </property>
        </bean>

  • Migration of LONG and LONG RAW datatype

    Just upgraded a DB from 8.1.7.4 to 10.2.0.1.0. In the post-upgrade tasks, it speaks of migrating tables with LONG and LONG RAW datatypes to CLOB's or BLOB's. All of my tables in the DB with LONG or LONG RAW datatypes are in the sys, sysman, mdsys or system schemas (as per query of dba_tab_columns). Are these to be converted? Or, does Oracle want us to convert user data only (user_tab_columns)?

    USER_TAB_COLUMNS tells you the columns in the tables owned by the current user. There may well be many users on your system that you created that contain objects. I suppose you could log in to each of those schemas and query their USER_TAB_COLUMNS table, but it's probably easier to query DBA_TAB_COLUMNS with an appropriate WHERE clause on the owner of the objects.
    Justin

  • Oracle Long dataType = a long text String?

    Hi all.
    I'm in the middle of writing a servlet that uses JDBC to connect to an Oracle DB. I need a field in Oracle to store a varchar2 type String without the 4000 characters limiation. I picked Long datatype as it 'stores CHAR data of variable seize up to 2 GB' as said in documentations.
    The problem is, I don't know how to put it in the prepareStatement. Would it be a prep.setString or something else? I would be grateful if anyone can tell me what I can do and whether if setting a Long is correct.
    Connection con = DriverManager.getConnection(url, loginPwd, loginPwd);
    PreparedStatement prep = con.prepareStatement(INSERT INTO chanEvents VALUES (?,?,?,?));
    prep.setInt(1, nextVal);
    prep.setString(2, eventName);
    prep.setString(3, dateString);
    //?? the following is where Oracle column is set to LONG. 
    //Should I use setString or something else?
    // let say longString is a very long String
    prep.setString(4, longString);
    if (prep.executeUpdate() != 1)      {
            out.println("Bad update");
            con.close();
            prep.close();
            return false;
    con.close();
    prep.close();

    http://technet.oracle.com/sample_code/tech/java/sqlj_jdbc/htdocs/templates.htm#Streams
    Jamie

  • How to copy a table with LONG and CLOB datatype over a dblink?

    Hi All,
    I need to copy a table from an external database into a local one. Note that this table has both LONG and CLOB datatypes included.
    I have taken 2 approaches to do this:
    1. Use the CREATE TABLE AS....
    SQL> create table XXXX_TEST as select * from XXXX_INDV_DOCS@ext_db;
    create table XXXX_TEST as select * from XXXX_INDV_DOCS@ext_db
    ERROR at line 1:
    ORA-00997: illegal use of LONG datatype
    2. After reading some threads I tried to use the COPY command:
    SQL> COPY FROM xxxx/pass@ext_db TO xxxx/pass@target_db REPLACE XXXX_INDV_DOCS USING SELECT * FROM XXXX_INDV_DOCS;
    Array fetch/bind size is 15. (arraysize is 15)
    Will commit when done. (copycommit is 0)
    Maximum long size is 80. (long is 80)
    CPY-0012: Datatype cannot be copied
    If my understanding is correct the 1st statement fails because there is a LONG datatype in XXXX_INDV_DOCS table and 2nd one fails because there is a CLOB datatype.
    Is there a way to copy the entire table (all columns including both LONG and CLOB) over a dblink?
    Would greatelly appriciate any workaround or ideas!
    Regards,
    Pawel.

    Hi Nicolas,
    There is a reason I am not using export/import:
    - I would like to have a one-script solution for this problem (meaning execute one script on one machine)
    - I am not able to make an SSH connection from the target DB to the local one (although the otherway it works fine) which means I cannot copy the dump file from target server to local one.
    - with export/import I need to have an SSH connection on the target DB in order to issue the exp command...
    Therefore, I am looking for a solution (or a workaround) which will work over a DBLINK.
    Regards,
    Pawel.

  • Oracle Personal Edition, data corruption in Long datatype column

    Oracle Personal Edition, data corruption in Long datatype column
    DATA Corruption in Oracle 8i Personal edition
    I am using a Long data type column to store a big text. In oracle Enterprise edition the data stored correctly. But in the Oracle Personal Edition, the Long data type column data corrupted. Some letters in the text are replaced by special character chr(0).
    The following data has been taken from a column (Which is of data type LONG).
    1. In the first one column name Template_ID stored correctly but in the second one T is missing. Some special characters has stored in that place. (Difference is in 6th Line)
    CREATED_DATE####09-21-2001 16:02:00$$LANGUAGE_ID####99$$LOWER_LIMIT####$$MEASURE
    ID####810200082001000004$$MODIFIEDDATE####09-21-2001 16:02:00$$SERVICE_RECEIVED####I$$SERVICE_RECORD####PO:F$$STEP_CODE####8$$STEP_RESULT####Failed$$STEP_ROW_
    ID####2$$TEMPLATE_ID####M116XX$$TEXT####$$UNIQUE_ID####810200082001$$UPPER_LIMIT
    CREATED_DATE####09-21-2001 16:02:00$$LANGUAGE_ID####99$$LOWER_LIMIT####$$MEASURE
    ID####810200082001000004$$MODIFIEDDATE####09-21-2001 16:02:00$$SERVICE_RECEIVED####I$$SERVICE_RECORD####PO:F$$STEP_CODE####8$$STEP_RESULT####Failed$$STEP_ROW_
    ID####2$$TEMPLA E_ID####M116XX$$TEXT####$$UNIQUE_ID####810200082001$$UPPER_LIMIT
    2. In the first one column name Template_ID stored correctly but in the second one E is missing. Some special characters has stored in that place. (Difference is in 6th Line)
    CREATED_DATE####09-21-2001 16:01:19$$LANGUAGE_ID####99$$LOWER_LIMIT####$$MEASURE
    ID####810200082001000002$$MODIFIEDDATE####09-21-2001 16:01:19$$SERVICE_RECEIVED####U$$SERVICE_RECORD####P:F$$STEP_CODE####7$$STEP_RESULT####Failed$$STEP_ROW_I
    D####2$$TEMPLATE_ID####78580A$$TEXT####$$UNIQUE_ID####810200082001$$UPPER_LIMIT#
    CREATED_DATE####09-21-2001 16:01:19$$LANGUAGE_ID####99$$LOWER_LIMIT####$$MEASURE
    ID####810200082001000002$$MODIFIEDDATE####09-21-2001 16:01:19$$SERVICE_RECEIVED####U$$SERVICE_RECORD####P:F$$STEP_CODE####7$$STEP_RESULT####Failed$$STEP_ROW_I
    D####2$$TEMPLAT ID####78580A$$TEXT####$$UNIQUEID####810200082001$$UPPER_LIMIT#

    See if this helps you any:
    Re: Google Maps

  • Mapping CLOB and Long in xml schema

    Hi,
    I am creating an xml schema to map some user defined database objects. For example, for a column which is defined as VARCHAR2 in the database, I have the following xsd type mapping.
    <xsd:element name="Currency" type="xsd:string" />
    If the oracle column is CLOB or Long(Oracle datatype), could you please tell me how I can map it in the xml schema? I do not want to use Oracle SQL type like:
    xdb:SQLType="CLOB" since I need a generic type mapping to CLOB. Would xsd:string still hold good for CLOB as well as Long(Oracle datatype) ?
    Please help.
    Thanks,
    Vadi.

    The problem is that LONGs are not buffered but are read from the wire in the order defined. The problem is the same as
    rs = stmt.executeQuery("select myLong, myNumber from tab");
    while (rs.next()) {
    int n = rs.getInt(2);
    String s = rs.getString(1);
    The above will fail for the same reason. When the statement is executed the LONG is not read immediately. It is buffered in the server waiting to be read. When getInt is called the driver reads the bytes of the LONG and throws them away so that it can get to the NUMBER and read it. Then when getString is called the LONG value is gone so you get an exception.
    Similar problem here. When the query is executed the CLOB and BLOB locators are read from the wire, but the LONG is buffered in the server waiting to be read. When Clob.getString is called, it has to talk to the server to get the value of the CLOB, so it reads the LONG bytes from the wire and throws them away. That clears the connection so that it can ask the server for the CLOB bytes. When the code reads the LONG value, those bytes are gone so you get an exception.
    This is a long standing restriction on using LONG and LONG RAW values and is a result of the network protocol. It is one of the reasons that Oracle deprecates LONGs and recommends using BLOBs and CLOBs instead.
    Douglas

  • Long Datatypes in Reports

    I have a field of long datatype in a table. I need to display the first 200 characters of this field in a report.
    How can I do this. If it is thru Placeholder columns can you explkain in detail how I should go about this.
    null

    It was in the 8i migration guide (http://download-uk.oracle.com/docs/cd/A87860_01/doc/server.817/a86632/migaftrm.htm#6573), but we decided to get to 10g first and then take care of it (since we did a 7 to 10 upgrade in two steps, 7->8 and 8->10).
    So basically I should just leave the SYSTEM tablespace objects alone then? I only tried the system objects conversion on a test database, and since the non-system objects were fine, we converted them on production but left the system ones alone.

  • VERY URGENT: problem in sql query with long datatype in weblogic

    I have a problem while tryind to retrieve a column value with a long datatype using servlet and oci driver and the server is weblogic5.1 .I have used prepared statement the problem comes in the
    preparedStatement.executeQuery().
    The sql Query is simple query and runs well in all cases and fails only when the long datatype column is included in the query.
    The exception that comes on the weblogic server is that :
    AN UNEXPECTED EXCEPTION DETECTED IN THE NATIVE CODE OUTSIDE THE VM.

    Did you try changing the driver then?
    Please use Oracle's thin driver instead of the oci driver.
    There are many advantages of using the type 4 driver. the first and foremost being that it does not require oracle client side software on your machine. Therefore no enteries to be made in tnsnames.ora
    The thin driver is available in a jar called classes112.zip the class which implements the thin driver is oracle.jdbc.driver.OracleDriver
    the connection string is
    jdbc:oracle:thin:@<machine name>:1521:<sid>
    please try out with the thin driver and let me know.
    regards,
    Abhishek.

  • Converting MS Access datatype to Oracle datatype

    To convert a memo datatype in MS Access into Oracle, you use a Long datatype. The problem is this one Access table hold multiple memo dataype and Oracle only allows 1 long datatype per table. Does anyone know how to resolve this issue?

    You should use CLOBs instead. You can have multiple
    CLOBs per table.Further the number of LOB columns per table is limited only by the maximum number of columns per table.

  • Copying data contianing long datatype from one schema to another

    I'm using Oracle 8.1.7 and trying to move copy data from one schema to another.
    Usually an easy task. This time the data contains longs so I can't use standard SQL. The data in the long is too long for a PL/SQL long datatype so that's not worked.
    I've tried the COPY FROM command but get the invalid sql command error.
    Can anyone save my hair?

    The COPY command doesn't have to be all on one line. The continuation character for SQL*Plus commands is a hyphen.
    SQL> prompt "Hello"
    "Hello"
    SQL> prompt -
    "Hello""Hello"
    SQL>Metalink is the website for customers that pay for Oracle support. Go to www.oracle.com and click on the metalink button on the top left of the screen. It's called Metalink because Oracle support levels are named after metals: bronze, silver, gold.

Maybe you are looking for

  • Company Webmail Outlook Web Access

    When I'm on a biz trip I have to use Web Access for my webmail. I noticed that when I use Safari vs. when I use my PC lap top, the whole look is very different. PC allows me to have a preview page and on my ibook it constantly asks for my password. A

  • How do experienced editors/colorists make video look better? Any tips?

    I am an amateur editor working on a documentary about WW II airplanes. The footage was shot on a Cannon HV30 in HDV with the 30p mode. The footage looks great (with some needing color correction), but still looks "videoish" when played on a standard

  • Tv mac

    if i use usb port on my imac connect cable to usb port on my tv can i watch my dvd films from my imac as its bigger screen use sound from imac

  • Switching from Mac to PC (Windows)

    I started using my ipod on my sister's mac. I did not realize it would be a problem to later use my pc to transfer songs to my ipod. When I try to do so, I get a message threatening to restore... and I was told if I plug my ipod into a mac it will de

  • To exit from the while(1) loop

    Hi all , I have a simple question that if in a callback function of a command button, i use a While(bLoop) loop , where bLoop is a boolean variable initially set to TRUE, then how can i break or exit from this while Loop by using a control on the fro