Case sensitive Tab/Col Names
Hi every one,
I'm having a problem with my Mixed case Table names and column names,when my precompiled application try to query those tables.
I have Table names like "ImmunTypeFollowUp" in Uper and Lower case letters. In my application I have Table names in Uper and Lower case letters "ImmuntypeFollowup". Now my querys are not working because
"ImmunTypeFollowUp" != "ImmuntypeFollowup"
But if I change the table name to "IMMUNTYPEFOLLOWUP" it works.
"IMMUNTYPEFOLLOWUP" == "ImmuntypeFollowup"
So is there any server side parameter to force even my table names are in diferent cases, consider them as UPPER case.
Any help will save droping/recreating my entire DB.
Thanks.
Nandana
null
By default, Oracle will create the names/columns of objects in upper case (provided the name/components of the object are not in mixed case and quoted). For example: CREATE TABLE "MiXeD_Up_TbL"... will create the table MiXeD_Up_TbL, and the statement CREATE TABLE MiXeD_Up_Tbl... will create the table MIXED_UP_TBL.
There is no setting I'm aware of to turn this off - generally it's not a problem. If you plan to migrate your product to another database, it would probably be better to follow the Oracle "standard" of all upper-cased object names.
Instead of dropping the database, determine what the real name of the tables/columns are : SELECT TABLE_NAME FROM ALL TABLES... or SELECT TABLE_NAME, COLUMN_NAME FROM ALL_TAB_COLUMNS... I suspect all the tables and columns as created on the database (under the schema your queries run under) are all upper case. Change the code to look for upper case names by either coding them that way or using UPPER(TABLE_NAME) = UPPER(&table_var_name) in your queries. NOTE: This may bypass index usage depending on what your objects/indexes look like.
Hope this helps.
null
Similar Messages
-
Disable Case Sensitivity for Node Names
Hello everyone,
is it possible to dissable the case sensitivity for node names?
I have an import of ca. 40k records. The source system differs between small and capital letters.
DRM seems to not differ between small and capital letters.
Is there a workaround without usind different technical names for nodes.
Kind regards,
PascalThere is nothing to do with in DRM, can you check with your DBA on what's the NLS_SORT and NLS_COMP settings are,ask them to check the below values.
NLS_COMP=LINGUISTIC and NLS_SORT=BINARY_CI
If nothing works out submit an SR:-) -
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. -
[MacOSX] Case sensitive filesystem no support ?
I would like to know why it's still not possible to install Photoshop on a case sensitive filesystem on Mac OSX ?
I would have expected that this new version would have get rid of this old limitation.Although I have not tried it with CS6 yet, Bridge CS5 on Win 7 is case sensitive for file names when decoding the path to the file. Supposedly, win7 does not have a case sensitive file naming system. For example:
\\MyNetworkDrive/directory/pic.jpg
and
\\mynetworkdrive/directory/pic.jpg
will generate two distinct entries in the bridge cache system - one each for the upper and lower case "mynetworkdrive" - probably how the file hash code is generated. This can get awkward if you provide the file names as a parameter to the execution of bridge. This case sensitivity only seems to happen on network drives. -
Create directory / object name must NOT be case sensitive
SQL Dev. 2.1 - the wizard, chosen from the left side navigator, submits a wrong create statement in which the object name becomes case-sensitive. This should not be so! Even if you write the new object name in small letters , the object name must end up in the data dictionary with capitals. kind regards Inger ([email protected])
Which wizard? If I use a create table wizard, for example, and enter the table in lower case, this is indeed stored in the DB as upper case, as you require.
Please provide more detail for your problem.
Sue -
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 -
I registered with a web site and used the name Kostas as the log on name. Entered a question and recieved replies
When I later tried to log onto the web site to say thankyou ,and enter Kostas in the log on box a reminder appears created by Firefox of kostas, I ignore this, move to the password box and firefox changes the log on name to kostas with small k. The register is case sensitive so for quite a while I could not understand what was going wrong? I eventually managed to log on by using a rival system
My previous experience is that if you use a different log on name it is recorded and then you choose the correct one to use? But in this case I am given no choice
How can I correct this please
Probably no connection but
I registerd with another site and recieved an e-mail in which I had to click on web address to confirm registration and came up with an error message, tried a few times and same thing happened?? The webmaster of this site had no record of my registration details?
Finally I had a phone call from a company called NERD-I.com
offering to solve various computor problems at a fee. I did not take up their offer, but hope they do not have anything to do with my current problems??
Many thanksHi Corel
Thank you for your reply
However I need the lower case version for some sites and the upper case version for the site in question? To make matters worse this site does not allow you to change your log on name unless it is in the form of an e-mail address
So what I need is Kostas for this site and kostas saved for other sites and allow me to choose which one I want to use
How do I do this please
I have no bother with this on Win Internet Explorer but I like Firefox
Mind it may be as simple as deleting The appropriate entry and resetting with Kostas instead of kostas?
But I would appreciate knowing the correct solution from an expert -
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 outHi
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 LogginsYou 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 ! -
Hi friends
I have a question, is it possible to transfer case sensitive tag names into xml structure ? for exemple, I want to transfer Tag name "DateCreated" . I did a test but start tag names is "DataCreated" and it is Translated in "DATACREATED" and this is a problem.
Thanks
SergioSergio,
Usually what ever you have given in your xsd or message type you will have the same. So please check it. I just tested this and it seems to be the same as defined in your xsd or message type.
Regards,
---Satish -
Case sensitive sql - table and field names
I have a weird problem.
I have a client which works with MS SQL SERVER 2000.
database collation name is: Turkish_CI_AS
at the beginning I have this sql statement:
"select value from [OWNER].setting"
but because this table exists in database as "SETTING", I get java.sql.SQLException -
[Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]Invalid object name 'setting'.
while I change the sql statement to:
"select VALUE from [OWNER].SETTING"
it works ok.
I uses also other databases, but it works ok with small letters.
How can avoid this problem? should I change all the sql statements to
upper case?
I will appreciate any help.
Thanks.I am not sure about case sensitivity of tables, but as a convention, I always use table names in UpperCase separated only by _.
I don't remember this to be a problem with Oracle or Sybase.
***Annie*** -
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:</</em>
# 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 PMPlease 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 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'. -
Artist names are case sensitive. how do i fix this?
Hi,
With the ipod touch, my artist names are case sensitive, which leads to multiple entries for the same artist. Is there any way to fix this? It is very annoying.
Thanks for your help!Based on what I am seeing in my iTunes, iTunes (7.7 - I'm one release behind) doesn't appear to be case sensitive. BUT, the iPod Touch has always been case sensitive (at least since 1.1.2, which was what was on mine when I got it in December).
I don't think there will be a way to "fix" it except to correct your data. -
Hi Dear;
to call any object in SDK, i have to write the object name(index) as case sensitive.
if there any way to call these objects without case sensitive?
Ex: if i have a UDF named U_BPDrv and i try to get it as U_BPDRV i get an error.
how can i resolve this error?
thank you Dear;Hi Lita,
i tried it now. UDF field is named as u_Test.
When I call SELECT ordr.u_Test so the result is the same as when I call SELECT ordr.U_TESt, so here is it not case sensitive. When I try get result from recordset as rs_ordr.Fields.Item("U_TeSt").Value() it give no error. When I bound result from recordset to matrix as
column.DataBind.SetBound(True, "@KZ", "u_TEst") - no error as well.
Everything was tested with no binary collation on db.
So I`m persuaded, that in this cases it depends on sql server and not on SDK.
Petr
Maybe you are looking for
-
Is my iPhone 4S battery usage normal?
I've only had my phone for a week now. Totally loving it but I noticed my battery wasn't lasting as long as I would have liked. So I went through all the steps to optimize my battery life. Switched location services off, push notifications off, no
-
Restriction on number of invoices to be paid through APP for each vendor
Hi, We configured APP and print cheques through APP. The output contains invoice wise details ( Payment advice) and the cheque. In case the Number of invoices are more than 10 for a single vendor, it is printing one cheque -- This is OK. But the prob
-
Why do I always get redirected with customer support?
So today I went on the phone with Verizon just to figure out why my internet speed has been slow because I finally got the time too. I used to get around a 2.5 - 3 Mbps speed connection and now I only get a 1.5 Mbps or so connection. This originally
-
Sync AppleTV with a second computer
I set up AppleTV with an iBook and everything worked beautifully. I bought a second laptop, which I'd now like to be the computer that syncs with ATV. Unfortunately, I can only make it stream to ATV at this point. What do I have to do to make my newe
-
Why can't I see any notification when message come from Tweeter or Facebook?
After installed OSX 10.8 GM and Facebook developer perview. I double check my setting, suppose it can receive anything form Facebook and Tweeter. But the result is, nothing show in the notification center. At the sametime, new mail can show up! Do I