• ベストアンサー

ORACLEへ、ODBC経由でCHAR属性のフィールドへNULL文字(

ORACLEへ、ODBC経由でCHAR属性のフィールドへNULL文字(x'0')を INSERTできたのですが、そのフィールドをUPDATEできません。 ODBCのエラーとなります。原因は何でしょうか? 宜しくお願いします。

  • Oracle
  • 回答数1
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
  • SaKaKashi
  • ベストアンサー率24% (755/3136)
回答No.1

NULL文字はX'00'ではありませんから、お間違えの無いように。 その、エラーになるUPDATE文を提示可能ですか? CHAR属性のフィールドをWHERE句に記述してませんか?

hakuba777
質問者

補足

では、NULL文字は、何になるのでしょうか? また、UPDATE文を提示できませんが、 CHAR属性のフィールドをWHERE句に記述しています。 宜しくお願いします。

関連するQ&A

  • Int型のフィールドへのNULLを入れる

    テーブル t_sample のINT型のフィールド(win_rate)にNULLを入れたいと思っています。 フィールドのNULLを許可に設定し、PHPMyAdminから直接データを挿入の際に、値を入力しない場合は素直にNULLが入ってくれます。 しかし、ウェブ上でinsertを使用して $win_rate = null; (勝率計算なので、試合をしていない場合はNULLにしたい) mysql_query("insert into t_sample ( namae , win_rate ) values ( '名前' , '".$win_rate."')"); などとした場合にNULLが入ってくれず、「0」が入ってしまいます。 win_rate(勝率)のようなフィールドなので、0とNULLを区別して扱いたいのですが、 どうすればいいでしょうか?

    • ベストアンサー
    • PHP
  • ACCESSからODBC経由だと"ORA-12504"

    遠隔の環境からOracleに接続させています。 OracleのSQL Plusだと、接続できるのですが、 ACCESSのODBC経由だと、「ORA-12504」のエラーが表示され、接続できず、困っています。 サービス名はあわしているつもりです。 アドバイスをお願いいたします。 ●OracleサーバーのVerはよくわかりません... 多分古い(8iぐらい)と思います。 accessは2003です。 Oracleクライアントは、Oracle8iです。 よろしくお願いいたします。

  • int型フィールドにnullを登録できない・・・

    > insert into tbl_tst values (001,'',21000,,22,4400,'3~4日','∞') とすると syntax error になってしまいます。 > insert into tbl_tst values (001,'',21000,'',22,4400,'3~4日','∞') とすると out of range になってしまいます。 > insert into tbl_tst values (001,'',21000,0,22,4400,'3~4日','∞') は通常に登録できます。 > insert into tbl_tst values (001,'',21000,'0',22,4400,'3~4日','∞') も通常に登録できます。 4カラム目のフィールドなのですが、show fields で見ても int(11) Null→YES  Default→NULLとなっております。 NULLを登録(何も値を入れない)したいのですが、 どうすればよいでしょうか。 ご存知の方いらっしゃいましたらご教示願います。 宜しくお願い致します。

    • ベストアンサー
    • MySQL
  • ODBC経由でMySQL5.0に auto_increment属性などを付加したテーブルを作成したい

    ODBC経由でMySQL5.0に auto_increment属性など付加した以下のテーブルを作成したいのですがODBCのSQL文はどう書けばよいのでしょうか? DROP TABLE IF EXISTS test; CREATE TABLE IF NOT EXISTS test ( a1 int(11) NOT NULL auto_increment, b1 enum('public','group','private') NOT NULL default 'public', c1 date NOT NULL default '0000-00-00', d1 mediumtext NOT NULL, PRIMARY KEY (`a1`) ) TYPE=MyISAM AUTO_INCREMENT=1 ; よろしくお願いします。

  • ORACLE ODBCエラー03121について

    先日、ORACLE73をインストールしました。 (日頃、ORACLEデータベースにアクセスするのに、ODBC経由のSQLツールを使用します) インストール直後は、ログインでき、SQLでDB検索可能だったのですが、数日後、再度ツールを使おうとしたところ、このようなエラーがでました。  ↓↓↓ ORA03121:インターフェースドライバが接続されていないため関数は実行されません。 インストールがうまくいってなかったのかな?とも思いましたが、一度ログインして普通に使えたので、それも考えにくいと思いました。 強いて心当たりがあるといえば、環境変数の設定を変えたのですが、そこも既にチェック済で、他にどのような原因があるか分からず煮詰まっています。 詳しい方、アドバイスよろしくお願いします。

  • ACCESSにODBC経由でORACLE接続

    ACCESSのプロジェクト(帳票印刷など)ですが、データはORACLEに置いています。 ORACLEのクライアントをインストールしないで、ODBCを経由して、接続できますか?

  • ORACLEでNCHAR/CHARの違い

    ORACLEでNCHAR/CHARの違いについて教えて下さい。 文字列の記述に以下の2つの書きかたがありますが、 1.NCHAR(40) 2.CHAR(40 CHAR) これらにはどのような違いがあり、どう使い分けると良いでしょうか? よろしくお願い致します。 以上

  • AccessからOracleDBへのリンク(ODBC経由)

    AccessからOracleDBへのリンクについて教えてください。 以前の質問でも似たような質問があったのですが、少し違うようなので 質問させていただきます。 Oracleクライアント(Net8含む)がインストールされていないPCからODBC経由でOracleDB をリンクさせて参照しようと考えています。 そこで、OracleDBを参照できるように「設定」→「コンパネ」→「ODBCデータソース」 から ”Microsoft ODBC for Oracle” バージョン 2.573.6526.00 データソースを新規に追加しようとすると下記のようなエラーメッセージが表示され怒られてしまいます(--;) **************************** エラー内容 ***************************** Oracle(tm)クライアントとネットワークコンポーネントが見つかりません。これらのコンポーネントは Oracle Corporationから提供され、Oracle Version 7.3(またはそれ以降) のクライアントソフトウェアの一部としてインストールされます。 このドライバを使用するには、これらのコンポーネントを先にインストールしてください。 ****************************************************************** このようなエラーメッセージが出るということは具体的に何が足りないのでしょうか? やはりOracleクライアントのインストールは必須なのでしょうか? 申し訳ないですが宜しくお願い致します。 Access97、Oracle8.1.6

  • insert時に日付のフィールドにnullを入れたい

    テーブルに以下のフィールドがあります。 [No],[区分],[キーNo],[日付] このテーブルに日付のデータのない、以下のようなデータをインサートしたいのですが、 [No],[区分],[キーNo] 1 ,kbn1 , key1 strSQL1 = "INSERT INTO テーブル1" & " ([No],[区分],[キーNo],[日付])" _ & " VALUES ("1","kbn1","key1",NULL )" とするとエラーが出てしまいます。日付フィールドに何も入れないようにinsert文を書くにはどうしたらよいでしょうか。 すみません、アドバイス等宜しくお願いします。

  • ODBC経由でオラクルに接続

    ASPにてODBC経由でオラクルにADOで接続してデータを表示していますが、GROUP BY 区を追加すると「オブジェクトが閉じている場合は、操作は許可されません」とエラーが発生します。 GROUP BY 区を追加しなければエラーが発生しません。どうしてでしょうか?またこの接続方法の場合JetのSQL関数が使用可能でしょうか? ASPの中身-------------------------------------- cn = Server.CreateObject("ADODB.Connection"); rs = Server.CreateObject("ADODB.Recordset"); cn.Open("DSN=XXXXX;UID=XXXXX;PWD=XXXXX;"); sq=""; sq+="SELECT "; sq+="TTUMIAGK.BUCD "; sq+="FROM "; sq+="TTUMIAGK "; sq+="WHERE "; sq+="TTUMIAGK.BUCD='04' "; sq+="GROUP BY TTUMIAGK.BUCD;";//追加するとエラー rs.Open(sq, cn ,3); while (!rs.eof) { //ここでエラーが発生 j++; %><tr><% for (i=0;i<rs.Fields.count;i++){ %><td><%=rs(i).value%></td><% } %></tr><% rs.movenext(); } rs.close();