私が知っている限り(私が間違っていれば私を修正してください)、ODBCテーブル名では大文字と小文字は区別されません。一方、グーグルでは、CatalogとSchemaの名前が大文字と小文字を区別しているかどうかを調べることができませんでした。ODBCのカタログ名とスキーマ名は大文字と小文字が区別されますか?
誰もがこの仕様にリンクできますか?
私が知っている限り(私が間違っていれば私を修正してください)、ODBCテーブル名では大文字と小文字は区別されません。一方、グーグルでは、CatalogとSchemaの名前が大文字と小文字を区別しているかどうかを調べることができませんでした。ODBCのカタログ名とスキーマ名は大文字と小文字が区別されますか?
誰もがこの仕様にリンクできますか?
ODBCでは、大文字と小文字を区別しないテーブル名を使用しないでください。大文字と小文字が区別され、大文字か小文字かを示すODBC SQLGetInfo呼び出しがあります。いくつかのデータベース/ドライバは、テーブルが引用されるときに大文字小文字を維持します。
あなたは大文字小文字を区別しないテーブル名を見つけることができますが、Oracleでは、あなたがしませんMS SQL Serverので:
SQL> create table fred (a integer)
SQLRowCount returns -1
SQL> insert into fred values (1)
SQLRowCount returns 1
SQL> select * from fred
+-----------------------------------------+
| A |
+-----------------------------------------+
| 1 |
+-----------------------------------------+
SQLRowCount returns -1
1 rows fetched
SQL> select * from "FRED"
+-----------------------------------------+
| A |
+-----------------------------------------+
| 1 |
+-----------------------------------------+
SQLRowCount returns -1
1 rows fetched
SQL> select * from "fred"
[S0002][unixODBC][Oracle][ODBC][Ora]ORA-00942: table or view does not exist
同じことが当てはまる:Oracleが、実際には何
create table "fred" (a integer)
insert into "fred" values (1);
select * from fred
[S0002][unixODBC][Oracle][ODBC][Ora]ORA-00942: table or view does not exist
select * from "fred"
+-----------------------------------------+
| A |
+-----------------------------------------+
| 1 |
+-----------------------------------------+
select * from "FRED"
[S0002][unixODBC][Oracle][ODBC][Ora]ORA-00942: table or view does not exist
は大文字の引用符で囲まれていないテーブル名ですスキーマとカタログ名。 SQLGetInfoを見ると、ドライバが何をしているかについてドライバがあなたに伝えることができます。 SQL_IDENTIFIER_CASEとSQL_IDENTIFIER_QUOTE_CHARを探します。 「SQL-92での識別子は大文字と小文字が区別されることはありませんので、サポートとして、SQL-92(任意のレベル)に厳密に準拠したドライバがSQL_IC_SENSITIVEオプションを返すことはありません。」の
http://msdn.microsoft.com/en-us/library/ms711681(v=vs.85).aspx
をメモします。