Column case sensitivity

Hi
Have connected to MS Access via HS but when run sql against external table is appears sql columns are converted to upper case prior to accessing the table
i.e. two columns on access table are
SpecimenID and LAB
Can select LAB from Linkdata@add_dr
select Lab from linkdata@add_dr
BUT
select SpecimenID from Linkdata@add_Dr fails with
ora-00904 "SPECIMENID" : invalid identifier
Is there a parameter which stop what seems to be converting column name into UPPERCASE
Using Access at the moment but target databases will be
case sensitive SQL Servers
Any thoughts would be appreciated
Thanks
Ian

Hi
that was easy - Works fine
have applied double quotes to all column names used in query
and now accessing external table without any problems
Curiously, have been using OCI from forms 4.5 to ODBC connect to same database without any problems !!
Hassle only occured when started using HS !
Thanks
Ian

Similar Messages

  • How to retrieve column names in a query in a case sensitive way

    Given a query, I want to extract all the column names/aliases in the query in a case-sensitive way.
    When I use dbms_sql.describe_columns() or java.sql.ResultSetMetaData classes getColumnName() or getColumnLabel()
    it returns the columns name ONLY in Upper case.
    My application needs to extract the column names in the same case as it appears in the query string.
    Is there any API to get this without parsing the SQL query string?
    Thanks
    PS: The dbms_sql.describe_columns() returns the column name in upper case.
    declare
    IS
    l_column_recs DBMS_SQL.DESC_TAB;
    l_cur NUMBER;
    l_column_count NUMBER;
    BEGIN
    l_cur := dbms_sql.open_cursor;
    dbms_sql.parse(l_cur, 'select target_type from targets', dbms_sql.NATIVE);
    dbms_sql.describe_columns(l_cur, l_column_count, l_column_recs);
    FOR i IN l_column_recs.FIRST..l_column_recs.LAST
    LOOP
    dbms_output.put_line(l_column_recs(i).col_name);
    end loop;
    end;
    /

    As far as the result set is concerned, though, the column name is in all upper case. If you query the data dictionary, you would see that the TARGET_TYPE column in the TARGETS table is stored in upper case.
    The way Oracle works is that column names that are not enclosed in double-quotes are converted to upper case in the data dictionary and elsewhere and then Oracle looks for the column name in the table definition. That is what allows Oracle to have case-insensitive identifiers unless a user specifies case-sensitive identifiers by enclosing the identifier in double quotes.
    If you changed the query to be
    SELECT target_type as "target_type"
      FROM targetsOracle should report the alias in a case sensitive fashion because you've now indicated that the alias should be treated as case sensitive.
    Justin

  • Problem in XI - JDBC (oracle) Scenario, case sensitive column name

    I had a XI -> JDBC scenario, connecting to a SQL server, where the query was being generated using Message Mapping (XML SQL Format),
    now the database has been migrated from SQL server to Oracle, and we are using the same XI scenario, but now the problem is, the query generated using message mapping doesnt work because it seems the query (UPDATE statement) requires the field name as having All capital letters, i mean the Column name in query to Oracle has become case sensitive,
    can u help me out

    Hi
    Oracle doesnt have restriction that Query has to be in uppercase for any column. But it is good go use Upper case for the Query.
    Use oracle editor to do the query if it is working fine and then use XML SQL in XI
    Check this thread SAP has given some
    http://help.sap.com/saphelp_nw04s/helpdata/en/43/68a541a1166153e10000000a1553f6/frameset.htm
    Check FAQ on the JDBC adapter, see SAP Note 831162
    always useful Note
    Thanks
    Gaurav

  • Case sensitive table names and column names in 8i or 9i databases

    Hi everybody,
    I've got a couple of business-side colleagues who insist that Oracle table and column names are case sensitive. That is, there is a setting in the set up of a database that lets you pick if table and column names are case sensitive. For example, this would mean that there could be a table named EMP in a given schema schema plus a table named emp in that same schema.
    Can this be true? I'd be surprised of course, but I've been surprised before.
    Thanks for any direction.
    -- Bill Loggins

    You can do it, but I would avoid it like the plague.
    SQL> create table "a" (b date);
    Table created.
    SQL> create table "A" (b date);
    Table created.
    I think I would refuse to work on a database where this has been used !

  • Case sensitive column name problem

    I have a strange problem in my application.
    I install the application on several machines with no problem but in one machine I'm getting an exceptions on:
    "Column 'SomeColumnName' does not belong to table"
    the code look like this:
    DataRow newDataRow = myTableFromDatabase.NewRow();
    newDataRow["SomeColumnName"] = dr["SomeColumnName"];
    when I change the code to upper case:
    DataRow newDataRow = myTableFromDatabase.NewRow();
    newDataRow["SOMECOLUMNNAME"] = dr["SOMECOLUMNNAME"];
    it works on the problematic machine.
    - I got the same problem on reading data from OracleDataReader.
    - The property DataTable.CaseSensitive was not changed (default = false).
    I'm not sure this is ODP problem or .net but I can't find any .net issues on that.

    Ok ,
    This is the most bizar bug that I ever saw:
    The problem was that the machine was running in turkey.
    In .NET culture settings the function ToUpper is not work on the letter 'i' when the region is turkey.
    That means that oracle ODP OracleDataReader is case sensitive on the column name - if the column name have the letter 'i'.

  • Sort column by without case sensitive  using Comparator interface

    Hello,
    When i sorted my values of a column in a table it was showing all sorted upper case letters at top rows and all sorted lower case letters on bottom. So i would like to sort values without case sensitive order. Like. A, a, B, b, C, c....
    I am using Collection class to sort vector that contains the values of a column as an object and using Comparator interface to sort the values of a column in either ascending and descending order. It facilitates to compare two objects like.
    <class> Collections.sort(<Vector contains values of column to be sort>, <Comparator interface>);
    and in interface it compares two objects ((Comparable) object).compareTo(object);
    Now Let's suppose i have three values say Z, A, a to sort then this interface sorted in ascending order like A, Z, a
    but the accepted was A, a, Z. So how can i get this sequence. I would like to sort the values of a column without case sensitive manner.
    Thanks
    Ashish Pancholi
    Edited by: A.Pancholi on Dec 29, 2008 1:36 PM

    [http://java.sun.com/javase/6/docs/api/java/lang/String.html#CASE_INSENSITIVE_ORDER]

  • Column header sort - case sensitivity issue

    Hi guys,
    I'm having an issue with the built in column sorting when you click the headers on a report. Basically case sensitivity is taken into account and capital letters get sorted before smaller case letters, for example:
    Cats
    Dogs
    Zebra
    ants
    bears
    How would I be able to fix this built in sort?
    Thanks,
    Luis

    Luis,
    See if Denes's solution helps: Report sort by column header question .
    Scott

  • Is a Full Text Index search case sensitive or not in SQL Server 2012?

    I setup full text index on my contact table and am attempting to run a search on it using the following query:
    SELECT *
    FROM sysdba.Contact C
    WHERE CONTAINS(C.FirstName, 'Test')
    OR CONTAINS(C.LastName, 'Test')
    The problem is it's clearly running a case sensitive search. I did a quick search to find out how to change it to be case in-sensitive and found two pages (both for SQL Server 2012) with conflicting answers:
    1 - MSDN - "Query with Full-Text Search" - http://msdn.microsoft.com/en-us/library/ms142583(v=sql.110).aspx
    Case sensitivity
    Full-text search queries are case-insensitive. However, in Japanese, there are multiple phonetic orthographies in which the concept of orthographic normalization is akin to case insensitivity (for example, kana = insensitivity). This type of orthographic normalization
    is not supported.
    1 - TechNet - "Full-Text Search (SQL Server)" - http://technet.microsoft.com/en-us/library/ms142571(v=sql.110).aspx
    Full-text queries are
    not case-sensitive. For example, searching for "Aluminum" or "aluminum" returns the same results.
    Can someone please explain this? Is it possible to do it without it being case sensitive? If yes, how?
    (Sorry, I couldn't make those links b/c TechNet hasn't verified my account)
    Thank you for your time and help,
    Hanan

    Whats the collation setting for the columns? try using a case insensitive collation as below
    SELECT *
    FROM sysdba.Contact C
    WHERE CONTAINS(C.FirstName COLLATE SQL_Latin1_General_CP1_CI_AS, 'Test')
    OR CONTAINS(C.LastName COLLATE SQL_Latin1_General_CP1_CI_AS, 'Test')
    Please Mark This As Answer if it helps to solve the issue Visakh ---------------------------- http://visakhm.blogspot.com/ https://www.facebook.com/VmBlogs

  • How do I convert a case sensitive drive to a case insensitive drive?

    I have recently purchased a MacMini Server, and installed the 2 internal hard drives in a RAID 0 configuration to obtain the speed and 1 TB capacity, but unfortunately (rather stupidly in retrospect) formatted the drive in case sensitive mode.
    On installing the operating system and multiple applications, everything seemed to work well until I tried to install Adobe Acrobat X Pro. This application refuses to install on a case sensitive formatted drive, which I now understand is a common problem.
    The question is how can I convert to a case insensitive format without reinstalling all of the software from scratch?
    I have a Time Machine backup, and the easiest thing for me would be to reformat the drive, and then restore from the Time Machine backup.
    Will this process work? Or will there be some complications and files that will not function if they were originally installed on a case sensitive drive?
    Any help is appreciated....

    iPartition can do it ( http://www.coriolis-systems.com/iPartition.php ).
    from iPartition Help:
    Make Case Sensitive/Case Insensitive
    HFS+ now supports a case sensitive format as well as the usual case insensitive format. On a case sensitive volume, the names “Readme”, “README” and “ReadMe” would all represent different files, even if they were in the same folder.
    This option allows you to non-destructively change a case sensitive volume into a case insensitive one, and vice-versa. If you are going from a case sensitive volume to a case insensitive volume, some of your files may be renamed automatically by iPartition so that they do not clash. If all of the files in the table below were in the same directory, the right hand column shows the new names iPartition would choose for them:
    Old name New name
    README.txt README.txt
    ReadMe.txt ReadMe 1.txt
    Readme.txt Readme 2.txt
    README README
    ReadMe ReadMe 1
    Readme Readme 2
    Notice that iPartition puts the number before any file extension.
    N.B. iPartition does not transform filenames with numbers on the end back into their original forms. There is no way to tell which files were renamed by the user and which were renamed by the conversion process.

  • Jdbc bug in executeUpdate(sql, int[]) when table name is case-sensitive;

    I have found a bug in oracle's jdbc (ojdbc6.jar), can someone tell me how to submit it so that it can be fixed?
    The BUG: using executeUpdate(insert_sql_stmt, int[]) to retrieve the generatedKey generated by before-insert trigger using a sequence results in error when the tablename is case-sensitive (but OK if table name in uppercase).
    Steps to reproduce:
    1a. create table "mixCase" (f1 integer, f2 varchar2(20));
    1b. create table upperCase (f1 integer, f2 varchar2(20));
    2a. create sequence mixCase_seq start with 1;
    2b. create sequence upperCase seq start with 1;
    3a. create or replace trigger mixCase_trigger before insert on "mixCase"
    bq. for each row \\ begin \\ select mixCase_seq.nextval into :new.f1 from dual; \\ end;
    3b. create or replace trigger upperCase_trigger before insert on upperCase
    bq. for each row \\ begin \\ select upperCase_seq.nextval into :new.f1 from dual; \\ end;
    4a. String url = "jdbc:oracle:thin:@//localhost:1521/orcl";
    bq. conn=DriverManager.getConnection(url,user,password); \\ Statement stmt = conn.createStatement (); \\ int rc=stmt.executeUpdate("insert into \"mixCase\"(f2) values('aa')",new int[]{1});
    4b. String url = "jdbc:oracle:thin:@//localhost:1521/orcl";
    bq. conn=DriverManager.getConnection(url,user,password); \\ Statement stmt = conn.createStatement (); \\ int rc=stmt.executeUpdate("insert into upperCase(f2) values('aa')",new int[]{1});
    When you run 4a or 4b in a java jdbc program:
    4b runs OK and rset=stmt.getGeneratedKeys() returns the correct f1 value of 1.
    4a results in error:
    bq. h6. java.sql.SQLSyntaxErrorException: ORA-00942: table or view does not exist \\ + at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:91)+ \\ + at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:112)+ \\ + at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:173)+ \\ + at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:455)+ \\ + at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:406)+ \\ + ...+
    +Notes:&lt;/&lt;/em&gt;
    # If Statement.RETURN_GENERATEDKEYS is used instead of "new int[]{1}" in 4b, there is no error but the rset=stmt.getGeneratedKeys() returned in a ROWID such as 'AAARUyAAEAAAAGQAAL', not what is expected. Other database's jdbc return the correct generated integer value.
    # Same 4b error if new String[]{"f1"} is used as 2nd argument for executeUpdate.
    # The only difference in 4a and 4b is that 4a has case-sensitive table name. All sequence names, trigger names, column names are implicitly deemed to be uppercase by oracle in both cases.
    bq.
    Edited by: user10343198 on Oct 2, 2008 5:50 PM
    Edited by: user10343198 on Oct 2, 2008 6:34 PM

    Please patch one fo your machines to 10.2.0.3 and then try and duplicate. You do not have to go through the complete registration of the XSD process thoguh you can check and see if the c based parser will validate on the command line using the
    schema executible under your oracle_home bin directory.
    schema 1.xml 1.xsd
    for example
    if it dupes in 10.2.0.3 open a TAR with support so that we may bug it.
    regards
    Coby

  • Case-sensitive values in an Tabular Model with a Oracle Datasource

    Hi,Lets use an Oracle Database as Datasource for my Project. I use a "Select distinct ColumnA from Table" to build up a LookupTable in my Tabular Model. But it returns Dublicates!! eg:
    When I fire the query from Oracle SQL Developer I got 2 Records "1N" and "1n". In the Grid View in SSDT I see 2 times "1N". ??
    Collation Case Sensitive. OK, but how to solve that?
    KR

    Hi KR,
    According to your description, you encounter the case-sensitive issue when creating SQL Server Analysis Services Tabular model project, right?
    Based on my research, Tabular models have the insensitivity problem by default. The workaround for this issue is creating a empty tabular model in tabular server using the xmla below and import the tabular in SSDT.
    <Create xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
    <ObjectDefinition>
    <Database xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ddl2="http://schemas.microsoft.com/analysisservices/2003/engine/2" xmlns:ddl2_2="http://schemas.microsoft.com/analysisservices/2003/engine/2/2" xmlns:ddl100_100="http://schemas.microsoft.com/analysisservices/2008/engine/100/100" xmlns:ddl200="http://schemas.microsoft.com/analysisservices/2010/engine/200" xmlns:ddl200_200="http://schemas.microsoft.com/analysisservices/2010/engine/200/200" xmlns:ddl300="http://schemas.microsoft.com/analysisservices/2011/engine/300" xmlns:ddl300_300="http://schemas.microsoft.com/analysisservices/2011/engine/300/300">
    <ID>Collation test</ID>
    <Name>Collation test</Name>
    <Language>1033</Language>
    <Collation>Latin1_General_CS_AS</Collation>
    <DataSourceImpersonationInfo>
    <ImpersonationMode>Default</ImpersonationMode>
    </DataSourceImpersonationInfo>
    <ddl200_200:StorageEngineUsed>InMemory</ddl200_200:StorageEngineUsed>
    <ddl200:CompatibilityLevel>1100</ddl200:CompatibilityLevel>
    </Database>
    </ObjectDefinition>
    </Create>
    For the detail information about it, please refer to the link below.
    http://blogs.msdn.com/b/cathyk/archive/2011/10/24/making-tabular-models-more-sensitive.aspx
    Regards,
    Charlie Liao
    If you have any feedback on our support, please click
    here.
    Charlie Liao
    TechNet Community Support

  • How to make PowerPivot case sensitive?

    Hi all,
    I just discovered that PowerPivot is case-insensitive, which is quite a big problem for me. The only discussion of this I found so far is here: http://dennyglee.com/2010/06/18/powerpivot-you-are-so-insensitive-case-that-is/ .
    That didn't fully answer my question though, is it possible to change this behaviour and make it case sensitive?
    The reason it's a problem for me is that I have a column (from external data source) used as an ID in a relationship, which contains a string of random characters. If it so happens that two entries have an ID which only differs by a case of a letter, everything
    blows up. More precisely, I can no longer import the data into the table where the column is used as a PK, because it is not unique.
    Thanks for any comments,
    Jurgis

    You can post bugs on Connect.
    Thanks!
    Ed Price, SQL Server Customer Program Manager (Blog,
    Small Basic,
    Wiki Ninjas,
    Wiki)
    Answer an interesting question?
    Create a wiki article about it!

  • Case sensitive field in to_date function

    update "Ab_Order" set "OrderDate" = to_date("Order Date String", 'yyyy/mm/dd)
    Here the OrderDate column is of type Date
    "Order Date String" is varchar2. Iam trying to copy the data from "Order Date String" which contains data in this format '2011/04/24' to OrderDate column to perform some date functions
    when I try to run this query it gives a error: ORA-01830: date format picture ends before converting entire input string
    So I tried to run this query by creating a test table wit 2 columns : update testtable set column1 = to_date(field1, 'yyyy/mm/dd')
    where column1 is date field and field1 is varchar2 and this worked.
    So Iam assuming this is the problem with case sensitive fieldnames . As far as i know we should include case sensitive fields in double quotes. Is there anything else to do wit the to_Date function. Can anyone please let me know how to do that.

    Hi,
    Welcome the the forum!
    882431 wrote:
    update "Ab_Order" set "OrderDate" = to_date("Order Date String", 'yyyy/mm/dd)It looks like you're missing a single-quote right before the last ')'.
    Here the OrderDate column is of type Date
    "Order Date String" is varchar2. Iam trying to copy the data from "Order Date String" which contains data in this format '2011/04/24' to OrderDate column to perform some date functions
    when I try to run this query it gives a error: ORA-01830: date format picture ends before converting entire input stringThat error occurs when when you have characters in the 1st argument that do not correspond to anything in the 2nd argument. For example:
    TO_DATE ( '30-Aug-2011 12:00'
         , 'dd-Mon-yyyy'
         )In this example, TO_DATE doesn;t know what to do with the ' 12:00' at the end of the 1st argument. According to the 2nd arguemnt, there's only supposed to be 11 characters in the string. So it raises the ORA-01830 error.
    So I tried to run this query by creating a test table wit 2 columns : update testtable set column1 = to_date(field1, 'yyyy/mm/dd')
    where column1 is date field and field1 is varchar2 and this worked.
    So Iam assuming this is the problem with case sensitive fieldnames . As far as i know we should include case sensitive fields in double quotes. Is there anything else to do wit the to_Date function. Can anyone please let me know how to do that.Case sensitive column names are a bad idea because they cause so amny problems, but I don't think this is one of those problems. It's more likely that you need to use SUBSTR (or some other string manipulation function) on "Order Date String" before using it in TO_DATE.
    Whenever you have a problem, please post a little sample data (CREATE TABLE and INSERT statements, relevant columns only) from all tables, so people can re-create the problem and test their ideas.
    Also post the results you want from that data, and an explanation of how you get those results from that data, with specific examples.
    Always say which version of Oracle you're using.

  • Case sensitive problem in oracle9i

    Hello every body
    I need ur help in this case
    in my database I need to ignore case sensitive in varchar2
    ie. if I have value in varchar = Accounting
    I need to compare this value which exist in column
    if equal to 'accounting' value with out using lower or upper function
    ie. I need to set global option in database ignore case sensitive
    I tried the query which exist in oracle10g(alter session set nls_comp=ansi)
    but it didn't work
    so please give me solution which work in Oracle9i and oracle10g in the same time
    but with out using varchar2 functions, ie. I need feature which will set in session
    Thanks alot

    Check this links:
    <br>
    The Globalization of Language in Oracle - And Case-Insensitivity
    <br>
    10gR2 New Feature: Case Insensitive Searches

  • Query in expdp with case-sensitive table and columnname

    Hi,
    I've got a problem with exporting some specific rows of a table.
    The problem is a case-sensitive table and column name. I've tried this in a parfile:
    dumpfile=dpumpdir1:test.dmp
    logfile=dpumpdir1:test.log
    tables="Data"
    query="Data":'"where "DataID" = 11"'
    but it ended like this:
    ORA-31693: Table data object "Data" failed to load/unload and is being skipped due to error:
    ORA-06502: PL/SQL: numeric or value error
    ORA-31605: the following was returned from LpxXSLSetTextVar in routine kuxslSetParam:
    LPX-314: an internal failure occurred
    Edited by: [Logik on 18.04.2013 01:18                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

    I've tried to make a function with this. I think you used some Oracle 11 parameters. reusefile for example.
    However I've managed to compile the function without error:
    CREATE OR REPLACE FUNCTION EXPDP RETURN NUMBER IS
      h1 number;
      v_job_state       varchar2(4000);
    BEGIN
      h1 := dbms_datapump.open(operation=>'EXPORT',job_mode=>'TABLE',job_name=>'HARRY10');
      dbms_datapump.add_file(h1,'example1.dmp','DPUMPDIR1');
      dbms_datapump.add_file(h1,'example1.log','DPUMPDIR1',filetype => dbms_datapump.ku$_file_type_log_file);
      dbms_datapump.metadata_filter(handle => h1,name => 'NAME_EXPR',value => 'IN (''Data'')',object_type => 'TABLE');
      dbms_datapump.data_filter(handle => h1,name => 'SUBQUERY',value => 'WHERE "DataID" = 1');
      dbms_datapump.start_job(h1);
      DBMS_DATAPUMP.WAIT_FOR_JOB (h1,v_job_state);
      DBMS_OUTPUT.PUT_LINE(v_job_state);
      RETURN NULL;
    END EXPDP;But when I execute I get:
    ORA-31626: job does not exist
    ORA-06512: at "SYS.DBMS_SYS_ERROR", line 79
    ORA-06512: at "SYS.DBMS_DATAPUMP", line 938
    ORA-06512: at "SYS.DBMS_DATAPUMP", line 4592
    ORA-06512: at EXPDP", line 5
    ORA-06512: at line 5
    Probably not my day :(
    By the way... how can I Format the text as a script?
    Edited by: [Logik on 19.04.2013 11:01                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

Maybe you are looking for