Make oracle database case insensitive

Hi All,
I am using oracle 10g EE as my back end database and front end is in C# .NET. I want to make my oracle database to perform any comparison case insensitively. I searched on the net and found several ways to achieve that
1. using upper function in procedures - can't afford
2. function index - can't afford
3. setting the session parameters
ALTER SESSION SET NLS_COMP=ANSI;
ALTER SESSION SET NLS_SORT=BINARY_CI;
The 3rd looks promising and can save lot of time. I have several question
1. Is there any way I can set these parameters from .NET?
2. Is there any way I can set once and will make only my database case insensitive?
any link, reference is highly appreciated.
Thanks,

user10768079 wrote:
Thanks for your mail.
I want to apply these settings to my oracle database only. It should not affect other oracle database that exist with my db.
Thanks,It would make sense to issue "ALTER SESSION" statements during logon process from the .NET code instead of changing the entire database - which might affect other users. Judging by the way you have written this, I feel you are referring to a schema rather than database.
.NET surely has the capability to run "ALTER SESSION" statements.

Similar Messages

  • How to make oracle is case insentive ( not case sensitive)

    SqlServer by default is NOT case sensitive (data content) while Oracle by default is case sensitive (data content).
    please help me to give the solution
    How to make oracle is case insentive ( not case sensitive)
    if there is anyway to make Oracle behave like SqlServer changing NLS settings or any other Oracle settings?
    I have solution for application level . it is working fine
    Possible solutions:
    1. You want to store data case insensitive: do an 'insert...
    values(upper('Abcd'))...'.
    This will put your data in upper case into the tables.
    2. Your data will be mixed-case and you want to select them case
    insensitive:
    create 'function based indexes' on every column you want to use in
    your where-clauses.
    Then 'select ... where <column_name> = 'ABCD'.

    What version of Oracle? Oracle 10g has a capability that can toggle this feature on and off at the session level. Prior versions do not.
    For prior versions you usually have to make use of the upper and/or lower functions in your queries. Sometimes a function based index, FBI, is used to handle this.
    HTH -- Mark D Powell --

  • Make LR filters case insensitive?

    Is there any way to make LR Text filters case insensitive? I can't imagine why anyone would want a filter to be case sensitive. Thanks.

    When I tried filtering on keywords the filter is case sensitive. For example, if I define a text filter for "Fall Color" the images are found but if I change the filter to "fall color" no images are found. I would like the filter to return the same images for either string? Is there a way to configure LR to do this?

  • Oracle 11g Case Insensitive Issue

    Hi,
    For our .net framework 4.0 Application we need case insenstive search. So I have tried setting NLS_COMP=LINGUISTIC & NLS_SORT=BINARY_CI in environmental variable.. But this is not working. But when I tried firing trigger on each logon and setting NLS_COMP for each session.. It is working.. But because of performance reason we don't want to fire on trigger for each database logon.
    Pls Let me know why it is not working setting environmental variable. We are using Oracle 11g client and 10g server and connecting from our .net application through ODP.NET.
    Regards,
    Raghu

    Do you see the same behavior when connecting via SQLPlus after setting the environment variables? Is this an ODP.NET specific issue? If it's not specific to ODP, you'll probably get better insight by posting in one of the generic database forums.
    With respect to ODP specific solutions, have you already checked out the OracleGlobalization class?
    http://docs.oracle.com/cd/B19306_01/win.102/b14307/OracleGlobalizationClass.htm#i1009565
    Hope it helps,
    Greg

  • Set Oracle case Insensitive?

    Hi All,
    Is there any way I can make Oracle 10g Case Insensitive. I tried searching and found this link, but I didn't got my answer as http://www.dba-oracle.com/t_case_insensitive_indexes_searches.htm is not working.
    case insensitive
    Thanks,
    Danish

    Is there any way I can make Oracle 10g Case Insensitive.For all the database ? I'm really not convinced that's a good idea, on query level it looks better.
    Anyway, here below an example :
    Re: case sensitivity
    Nicolas.

  • No case insensitive search in RAPID applications

    Hey experts,
    we have created a rapid application with non-key field "description". The rapid application is generating a search criteria "description", so far so good.
    Now the issue is that only case sensitive search is possible for this field.
    Any suggestions how to make the search case insensitive for this field or in general for all text fields?
    Thanks,
    Wladimir

    Hello Wladimir.
    Almost all of case insensitive searches in SAP CRM are done using dedicated "search" field (we're talking about classical DBs and not HANA and its capabilities). Which represents the desired field in uppercase in the same database table. Compare BUT000-NAME_LAST and BUT000-MC_NAME1, ADR6-SMTP_ADDR and ADR6-SMTP_SRCH fields pairs for example. So your description field should be programmatically converted to upper case and stored in another field. On which you should do the search.
    Otherewise you should do a complete scan of database entries and compare pairs converted to the same case.

  • Does Oracle8 Enterprise Edition support case insensitive data

    Hi!
    I want migrating our Microsoft SQL server 7.0 to Oracle8 ,
    so, I installed Oracle8 Enterprise Edition Release 8.05 for NT.
    With the installation I did, Oracle8 is case sensitive .
    Since Microsoft SQL server supports case insensitive SQL data,
    I would like to know whether Oracle8 supports case insensitive data.
    If yes, how to make the configuration?
    Thank you!
    null

    I don't think oracle supports case insensitivity. I really wish it did!
    Please repost if you find a solution, I would be interested in learning about it.
    <BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica">quote:</font><HR>Originally posted by YewTek Tan:
    Hi!
    I want migrating our Microsoft SQL server 7.0 to Oracle8 ,
    so, I installed Oracle8 Enterprise Edition Release 8.05 for NT.
    With the installation I did, Oracle8 is case sensitive .
    Since Microsoft SQL server supports case insensitive SQL data,
    I would like to know whether Oracle8 supports case insensitive data.
    If yes, how to make the configuration?
    Thank you!
    <HR></BLOCKQUOTE>
    null

  • Case-Insensitive File Name Search on Unix

    Hello,
    I have a program which runs on a Unix OS and it looks for some files like file.csv, and then reads these files. Basically I know the file name and I look for that file name in a particular directory.
    Now, I want to make my program case-insensitive so that if the file name is file.csv or File.csv or FILE.csv, it should still locate that file and read it.
    Any advice....
    Thanks.

    Thanks.
    Probably I have to get all the file names in that
    directory and then try to match against the file name
    (using ignore case or toUpperCase() maybe), which I
    am looking for.
    Is there a way, where I don't have to get all the
    file names in that directory and can just go and get
    the FileReader Object etc for the file which I am
    looking for.No
    /Kaj

  • Use of wildcard and case insensitive searches

    Used the "Create form from a table" option. Have a customized form for this table to query, insert, update, and delete rows. My question is how can I allow a user to 1) search using a wildcard (%) from this form and 2) how can I make the search case insensitive for my users.
    Thanks

    Hi,
    Why not create a report to find the records and link to the form from the report.
    You can then set the where clause to be whatever you wish:
    where tablename.columnname like :parameter
    or even:
    where UPPER(tablename.columnname) like UPPER(:parameter)
    Regards Michael

  • Making ADF Search case insensitive without using Execute with Params??

    I have a ADF search page baed on VO. I'm not Execute with Params form, instead i'm using normal ADF search page. Is it possible to make the search case insensitive?? if yes, how to do that?

    Ok, i'll try to find out the SRDemo application using ADF BC.
    And In Execute with params form,i'm already using UPPER on both the sides of where clause.
    Say my VO query is like
    select <table name>,...
    from fnd_tables t,fnd_applications a
    where a.application_id = t.application_id
    and upper(t.table_name) like upper(:EntityName) || '%'
    Then i created the ADF paramaters form by dragging and dropping the Execute with param from data control pallette.. when i run this page and do the search, it throws the error given in my second update...Any clue why that error is coming?
    Thanks
    Senthil

  • Password Case inSensitivity

    Hello,
    Is there a way to make user password case insensitive in OID?
    If not is there a way to convert the password to lower/upper case before it stores in OID and then during authentication, convert the user entered pwd to same case before comparing ?
    OID version : 10.1.2
    Regards

    This might be possible using the password policies, check the OID manual section on password policy.
    If it is not you can customize it using plugins. You would need a add and modify plugin to make the password lowercase before storing it, and a compare and a bind plugin to convert it when the user is loging on.
    Regards,
    Luis

  • Case insensitive search and replace using ASP and Oracle database

    I am interested in providing a case insensitive search and replace query in a Active server page. At present data is collected from a html form which passes the text values to a ASP page. The ASP page runs a search (select query) to find if the data is already in the Oracle database, if it isn't the ASP page runs sql (INSERT) to insert the record, if not the page returns a form indicating that the record already exists. At present we can convert the case of new records using the VB UCase() function. But can't do a insensitive search with the existing records. *The Query must be able to utilize ASP variables.
    Any help would be much appreciated.
    David Cheryk
    null

    I can't check your script right now since I'm not on Mac. I recommend you to use FindChangeByList script for CS4 instead (it works with CS3): http://forums.adobe.com/servlet/JiveServlet/download/2080627-12695/FindChangeByListCS4.zip together with Martin Fisher's: http://www.kasyan.ho.com.ua/downloads/RecordFindChange_CS3_Kas.zip
    Use this script to record settings from Text and GREP tabs, then copy and paste them into FindChandgeList.txt file.
    Or, optionally you can use this script: http://www.kasyan.ho.com.ua/find_change_by_queries.html.
    Kasyan

  • Case INSENSITIVE Columns on Oracle

    Hello Friends,
    Good Monday for everyone....
    I would like to ask you guys if there is a way to create a case INSENSITIVE Columns on Oracle. I used on Sqlserver before the COLLATE sintax, and I was able to make a columns (just that one) INSENSITIVE.
    I'm using oracle 10gr2 on Windows plataform and herte is my nls_parameters. My ideia is to search on this column without the need of performing a function UPPER and LOWER and etc...
    NLS_LANGUAGE BRAZILIAN PORTUGUESE
    NLS_TERRITORY BRAZIL
    NLS_CURRENCY Cr$
    NLS_ISO_CURRENCY BRAZIL
    NLS_NUMERIC_CHARACTERS ,.
    NLS_CALENDAR GREGORIAN
    NLS_DATE_FORMAT DD/MM/RR
    NLS_DATE_LANGUAGE BRAZILIAN PORTUGUESE
    NLS_CHARACTERSET WE8MSWIN1252
    NLS_SORT WEST_EUROPEAN
    NLS_TIME_FORMAT HH24:MI:SSXFF
    NLS_TIMESTAMP_FORMAT DD/MM/RR HH24:MI:SSXFF
    NLS_TIME_TZ_FORMAT HH24:MI:SSXFF TZR
    NLS_TIMESTAMP_TZ_FORMAT DD/MM/RR HH24:MI:SSXFF TZR
    NLS_DUAL_CURRENCY Cr$
    NLS_NCHAR_CHARACTERSET AL16UTF16
    NLS_COMP BINARY
    NLS_LENGTH_SEMANTICS BYTE
    NLS_NCHAR_CONV_EXCP FALSE
    tks a lot
    Keen

    APC wrote:
    No, they mean a setting which makes "APC" or "apc" match "Apc".
    There is nothing to be done on 10g, other than building a function based index on the column in question, so that any UPPER() searches are optimized.
    Well, as Kamran Agayev already noted CI is available in 10g too. It also worth mentioning FBI creates a hidden column. Also, your statement
    In 11g we have the option to set the NLS_SORT parameter so that any searches are case-insensitive (or indeed accent insensitive). Find out more.
    is incomplete. NLS_SORT affects nothing but sort:
    SQL> connect scott
    Enter password: *****
    Connected.
    SQL> select * from v$version
      2  /
    BANNER
    Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Prod
    PL/SQL Release 10.2.0.4.0 - Production
    CORE    10.2.0.4.0      Production
    TNS for 32-bit Windows: Version 10.2.0.4.0 - Production
    NLSRTL Version 10.2.0.4.0 - Production
    SQL> with t as (
      2             select 'Max' name from dual union all
      3             select 'sam' name from dual union all
      4             select 'Joe' name from dual union all
      5             select 'max' name from dual union all
      6             select 'joe' name from dual union all
      7             select 'Sam' name from dual
      8            )
      9  select  name
    10    from  t
    11    order by name
    12  /
    NAM
    Joe
    Max
    Sam
    joe
    max
    sam
    6 rows selected.
    SQL> with t as (
      2             select 'Max' name from dual union all
      3             select 'sam' name from dual union all
      4             select 'Joe' name from dual union all
      5             select 'max' name from dual union all
      6             select 'joe' name from dual union all
      7             select 'Sam' name from dual
      8            )
      9  select  name
    10    from  t
    11    where name = 'max'
    12  /
    NAM
    max
    SQL> alter session set nls_sort = binary_ci
      2  /
    Session altered.
    SQL> with t as (
      2             select 'Max' name from dual union all
      3             select 'sam' name from dual union all
      4             select 'Joe' name from dual union all
      5             select 'max' name from dual union all
      6             select 'joe' name from dual union all
      7             select 'Sam' name from dual
      8            )
      9  select  name
    10    from  t
    11    order by name
    12  /
    NAM
    Joe
    joe
    max
    Max
    Sam
    sam
    6 rows selected.
    SQL> with t as (
      2             select 'Max' name from dual union all
      3             select 'sam' name from dual union all
      4             select 'Joe' name from dual union all
      5             select 'max' name from dual union all
      6             select 'joe' name from dual union all
      7             select 'Sam' name from dual
      8            )
      9  select  name
    10    from  t
    11    where name = 'max'
    12  /
    NAM
    max
    SQL> with t as (
      2             select 'Max' name from dual union all
      3             select 'sam' name from dual union all
      4             select 'Joe' name from dual union all
      5             select 'max' name from dual union all
      6             select 'joe' name from dual union all
      7             select 'Sam' name from dual
      8            )
      9  select  name
    10    from  t
    11    where name like 'm%'
    12  /
    NAM
    max
    SQL> select 'Max' name from dual union
      2  select 'max' name from dual
      3  /
    NAM
    Max
    max
    SQL> with t as (
      2             select 'Max' name from dual union all
      3             select 'sam' name from dual union all
      4             select 'Joe' name from dual union all
      5             select 'max' name from dual union all
      6             select 'joe' name from dual union all
      7             select 'Sam' name from dual
      8            )
      9  select  distinct name
    10    from  t
    11  /
    NAM
    sam
    Joe
    joe
    max
    Sam
    Max
    6 rows selected.
    SQL> As you can see, NLS_SORT alone works on sort but not on "searches". We also need to set NLS_COMP, which by default is BINARY. Prior to 10g R2 (I am not 100% sure, it could be prior 10g), the only NLS_COMP choice, besides BINARY, was ANSI. However, ANSI does not work with all comparison operators (e.g. does not work for LIKE, UNION, DISTINCT):
    SQL> alter session set nls_sort = binary_ci
      2  /
    Session altered.
    SQL> alter session set nls_comp=ansi
      2  /
    Session altered.
    SQL> with t as (
      2             select 'Max' name from dual union all
      3             select 'sam' name from dual union all
      4             select 'Joe' name from dual union all
      5             select 'max' name from dual union all
      6             select 'joe' name from dual union all
      7             select 'Sam' name from dual
      8            )
      9  select  name
    10    from  t
    11    order by name
    12  /
    NAM
    Joe
    joe
    max
    Max
    Sam
    sam
    6 rows selected.
    SQL> with t as (
      2             select 'Max' name from dual union all
      3             select 'sam' name from dual union all
      4             select 'Joe' name from dual union all
      5             select 'max' name from dual union all
      6             select 'joe' name from dual union all
      7             select 'Sam' name from dual
      8            )
      9  select  name
    10    from  t
    11    where name = 'max'
    12  /
    NAM
    Max
    max
    SQL> with t as (
      2             select 'Max' name from dual union all
      3             select 'sam' name from dual union all
      4             select 'Joe' name from dual union all
      5             select 'max' name from dual union all
      6             select 'joe' name from dual union all
      7             select 'Sam' name from dual
      8            )
      9  select  name
    10    from  t
    11    where name like 'm%'
    12  /
    NAM
    max
    SQL> select 'Max' name from dual union
      2  select 'max' name from dual
      3  /
    NAM
    Max
    max
    SQL> with t as (
      2             select 'Max' name from dual union all
      3             select 'sam' name from dual union all
      4             select 'Joe' name from dual union all
      5             select 'max' name from dual union all
      6             select 'joe' name from dual union all
      7             select 'Sam' name from dual
      8            )
      9  select  distinct name
    10    from  t
    11  /
    NAM
    sam
    Joe
    joe
    max
    Sam
    Max
    6 rows selected.
    SQL> Starting 10g R2 NLS_COMP can be set to LINGUISTIC, which will also work for LIKE and UNION but not for DISTINCT:
    SQL> alter session set nls_sort = binary_ci
      2  /
    Session altered.
    SQL> alter session set nls_comp=linguistic
      2  /
    Session altered.
    SQL> with t as (
      2             select 'Max' name from dual union all
      3             select 'sam' name from dual union all
      4             select 'Joe' name from dual union all
      5             select 'max' name from dual union all
      6             select 'joe' name from dual union all
      7             select 'Sam' name from dual
      8            )
      9  select  name
    10    from  t
    11    order by name
    12  /
    NAM
    Joe
    joe
    max
    Max
    Sam
    sam
    6 rows selected.
    SQL> with t as (
      2             select 'Max' name from dual union all
      3             select 'sam' name from dual union all
      4             select 'Joe' name from dual union all
      5             select 'max' name from dual union all
      6             select 'joe' name from dual union all
      7             select 'Sam' name from dual
      8            )
      9  select  name
    10    from  t
    11    where name = 'max'
    12  /
    NAM
    Max
    max
    SQL> with t as (
      2             select 'Max' name from dual union all
      3             select 'sam' name from dual union all
      4             select 'Joe' name from dual union all
      5             select 'max' name from dual union all
      6             select 'joe' name from dual union all
      7             select 'Sam' name from dual
      8            )
      9  select  name
    10    from  t
    11    where name like 'm%'
    12  /
    NAM
    Max
    max
    SQL> select 'Max' name from dual union
      2  select 'max' name from dual
      3  /
    NAM
    Max
    SQL> with t as (
      2             select 'Max' name from dual union all
      3             select 'sam' name from dual union all
      4             select 'Joe' name from dual union all
      5             select 'max' name from dual union all
      6             select 'joe' name from dual union all
      7             select 'Sam' name from dual
      8            )
      9  select  distinct name
    10    from  t
    11  /
    NAM
    sam
    Joe
    joe
    max
    Sam
    Max
    6 rows selected.
    SQL> However even LINGUISTIC does not work with:
    • CLOB or NCLOB data types
    • Object data types
    • Table partitions
    • Index-organized tables
    SY.

  • How to make MySQL JDBC Driver case-insensitive

    Hi,
    I'm porting a jdbc application from oracle to mysql. One of the problem is that oracle's column names are case insensitive, whereas CODE in mySql is different from code (see example posted below).
    I know that I can change the source code to use always the same case. But is there a way to make the mysql jdbc driver case-insensitive ?
    import java.sql.*;
    /* getString(String) is case sensitive for org.gjt.mm.mysql.Driver driver */
    mysql> describe currency;
    +-----------------+----------------+------+-----+----------------+-------+
    | Field           | Type           | Null | Key | Default        | Extra |
    +-----------------+----------------+------+-----+----------------+-------+
    | code            | char(3)        |      | PRI |                |       |
    | name            | varchar(40)    |      | UNI |                |       |
    | shortCode       | char(2)        | YES  | MUL | NULL           |       |
    | exchangeRate    | decimal(19,12) |      |     | 0.000000000000 |       |
    | changed         | decimal(1,0)   |      |     | 0              |       |
    | markedFlag      | decimal(1,0)   |      |     | 0              |       |
    | updateTimestamp | timestamp(14)  | YES  |     | NULL           |       |
    +-----------------+----------------+------+-----+----------------+-------+
    7 rows in set (0.00 sec)
    getObject(1)=EUR
    Trying code
    getObject("code")=EUR
    Trying Code
    java.sql.SQLException: Column 'Code' not found.
         at org.gjt.mm.mysql.ResultSet.findColumn(ResultSet.java:1213)
         at org.gjt.mm.mysql.ResultSet.getObject(ResultSet.java:1188)
         at mySqlDemo.main(mySqlDemo.java:61)
    getObject(1)=USD
    Trying code
    getObject("code")=USD
    Trying Code
    java.sql.SQLException: Column 'Code' not found.
         at org.gjt.mm.mysql.ResultSet.findColumn(ResultSet.java:1213)
         at org.gjt.mm.mysql.ResultSet.getObject(ResultSet.java:1188)
         at mySqlDemo.main(mySqlDemo.java:61)
    public class mySqlDemo {
         public final static void main(String[] args) {
              try {
                   /*== database constants ==*/
                   String DBHOST = "localhost";
                   String DBNAME = "test";
                   String DBUSER = "test";
                   String DBPASS = "";
                   String DBDRIVER = "org.gjt.mm.mysql.Driver";
                   /*== setup database driver and connect ==*/
                   Class.forName(DBDRIVER).newInstance();
                   String conurl = "jdbc:mysql://"+DBHOST+"/"+DBNAME;
                   Connection db = DriverManager.getConnection(conurl,DBUSER,DBPASS);
                   /*== create sql query and execute ==*/
                   //String sql = "select code from currency";
                   String sql = "select Currency.code, Currency.name, Currency.shortCode, Currency.exchangeRate, Currency.changed, Currency.markedFlag, Currency.updateTimestamp from Currency order by code";
                   Statement stmnt = db.createStatement();
                   ResultSet rs = stmnt.executeQuery(sql);
                   /*== display results ==*/
                   while(rs.next()) {
                          System.out.println("getObject(1)=" + rs.getObject(1));
                          // works, because "Currency.code" has been selected
                          System.out.println("Trying code");
                          try {
                                 System.out.println("getObject(\"code\")=" + rs.getObject("code"));
                          } catch(SQLException ex) {
                               ex.printStackTrace();
                         // case sensitive !
                          // does not work, because "Currency.code" has been selected
                          // "code" != "Code"
                          System.out.println("Trying Code");
                          try {
                                 System.out.println("getObject(\"Code\")=" + rs.getObject("Code"));
                          } catch(SQLException ex) {
                               ex.printStackTrace();
              } catch(Throwable t) {
                   t.printStackTrace();
    }

    One of the problem is that oracle's column names are
    case insensitive, whereas CODE in mySql is different from code (see example posted below).I doubt that.
    SQL standards are rather specific that columns names are case insensitive unless quoted identifiers are used. And presumably you are doing that.
    What you are seeing is a difference in drivers not databases.
    I would guess that the only way to change the behaviour is to modify your code. If you uppercase everything it should work. Or you could use positional rather than named column extraction.

  • Can i make the database passwords non case-sensitive ??

    Can i make the database passwords non case-sensitive ??

    Yes: set instance parameter SEC_CASE_SENSITIVE_LOGON to FALSE ( http://download.oracle.com/docs/cd/E11882_01/server.112/e17110/initparams220.htm#I1010299).

Maybe you are looking for

  • Satellite A660 How can i turn off the lighting of the power button?

    Hello, I recently bought a new Toshiba A660-1FL. However bothers me is the lighting of the multimedia keys, if I work in the dark. In Bios I could turn off the led illumination, but the power on/off button is still lighting,that distracts me when i a

  • Video for progressive download - workflow works for CS3 but not CS4

    I don't understand what I'm doing wrong with the new Flash CS4. When I used Flash CS3 I would use the following steps to create a Flash video to view online: Make a folder for all flash content In the folder I put the "video".flv file encoded from Qu

  • Plan data handling profile

    Dear Gurus, There is a customzing point under Project System -> Costs -> Planned Costs -> Maintain plan data handling profile. Does anyone have any idea about: - where can it be used? - what is it used for? I was looking for any tool which makes plan

  • How do I start on a particular frame?

    Hey guys, I need my Adobe Flash CS5 project to start on the 4th frame in the project on the timeline, instead of the first. I have tried gotoAndStop and gotoAndPlay, but both somehow disable other actions I have setup on the timeline, like on the web

  • SSD install Arch Vs Windows 7

    HI All, Is there a metric to know about the read write overhead in Arch Vs Windows 7. I am wondering how to quantify it as I am concerned that Linux has way too much disk read write load. Also I have a laptop with 4GB ram and just a 60 GB SSD, how ca