• ベストアンサー

JDBC:ODBCでaccess db にデータをInsertするとき、構文エラーがでました

insert into InMoneys(Source,Money) values('1',99) java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] INSERT INTO ステートメントの構文エラーです。

  • Java
  • 回答数2
  • ありがとう数1

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

  • ベストアンサー
  • public_sa
  • ベストアンサー率52% (13/25)
回答No.1

access ってmoney型があった気がする。。。 列名moneyの名前を変更するか insert into InMoneys(Source,[Money]) values('1',99) したらどうでしょうか。

likewind
質問者

お礼

上手く行きました. ありがとうございました. もう一つ質問申し上げたいです. accessですべてのテーブル名を取得するSQLがありますか?

その他の回答 (1)

  • public_sa
  • ベストアンサー率52% (13/25)
回答No.2

#未確認 SELECT Name FROM MsysObjects

関連するQ&A

  • JAVAのデータベースエラー

    省略一部 query = "INSERT INTO" + "meibo(kubun,simei,seibetu,ketueki,umare,home_tel,k_tel,info)"+ "VALUES('"+ kubunStr +"','"+ SJISToUnicode(simeiStr) + "','"+ seibetuStr + "','" + ketuekiStr + "','" + umareStr + "','" + home_telStr + "','" + k_telStr + "','" + infoStr + "')"; stmt.executeUpdate(query); ブラウザで下記のように出ます。 検索は出来るのですが書き込めません エラーが見つからない為困っております 宜しくお願いします ---SQL Excepion-- Message : [Microsoft][ODBC Microsoft Access Driver] INSERT INTO ステートメントの構文エラーです。

    • ベストアンサー
    • Java
  • JDBC-ODBC-MDB(日本語テーブル・カラム名)アクセスで、ODBC -1305エラー

    日本語のテーブル名・カラム名を使用したAccess(2000) mdb に JSPおよびServletからJDBC(ODBC経由)でアクセスすると、 SQL実行[executeQuery()]時に下記のエラーが発生します。 getMessage(): [Microsoft][ODBC Microsoft Access Driver] getErrorCode(): -1305 getSQLState(): S0002 ただし、 1.Javaアプリケーションから直接JDBC(ODBC経由)でアクセスすると正常に動作します(ResultSet取得)。 2.JSP・サーブレットからのアクセスでも、   2-1.テーブル名・カラム名がascii文字のテーブルの場合   2-2.テーブル名・カラム名が日本語でも、SQLで使わない場合      例:SELECT now()   の場合は、 正常に動作します(ResultSet取得)。 JSP Servletは   contentType="text/html; charset=Windows-31J"   pageEncoding="windows-31j" で、保存形式は 日本語Shift_JISです。 出力画面表示に文字化けはありません。 作業環境はノートPC1台で、  Tomcat: 5.5.27 JDK/JRE : 1.6.0_07  Eclipse: 3.4.2  OS:Vista Ultimate SP1  ODBCデータソース:システムDNS Microsoft Access Driver(*.mdb) 6.00.6001.18000 ODBCJT32.DLL です。 諸兄のお知恵を拝借お願いします。 ※エラーコードの内容は? ※どのあたりを調べればよいか? ========================= Servletの場合のStackTraceなど -- getMessage:[Microsoft][ODBC Microsoft Access Driver] getErrorCode:-1305 getSQLState:S0002 java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6958) at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7115) at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(JdbcOdbc.java:3111) at sun.jdbc.odbc.JdbcOdbcStatement.execute(JdbcOdbcStatement.java:338) at sun.jdbc.odbc.JdbcOdbcStatement.executeQuery(JdbcOdbcStatement.java:253) ========================= JSPの場合のStackTraceなど -- getMessage:[Microsoft][ODBC Microsoft Access Driver] getErrorCode:-1305 getSQLState:S0002 java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6958) at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7115) at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(JdbcOdbc.java:3111) at sun.jdbc.odbc.JdbcOdbcStatement.execute(JdbcOdbcStatement.java:338) at sun.jdbc.odbc.JdbcOdbcStatement.executeQuery(JdbcOdbcStatement.java:253) at org.apache.jsp.TestODBC_jsp._jspService(TestODBC_jsp.java:95) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98) at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)

  • INSERT INTOステートメント構文エラー

    VB.NET2003+Access2000でデータベース開発中です。 サブフォームを使ってデータグリッドのデータを編集することができるように INSERT、DELETE、UPDATE各コマンドを作成しようとしていたら、 表記ADOエラーが出て次に進めません。 INSERT INTO [編集対象テーブル名]       (列名1,列名2,・・・・) VALUES (?,?,?,?,?・・・・) というサンプルSQLですが、構文エラーって何か記述が抜けているんでしょうか? クエリビルダから「値の挿入」を選んでできたSQLなんですけれど。 解説書を見てもぴったりのコメントがないもので、どうかよろしくお願いいたします。

  • jspでのSQLエラーについて

    MicorsoftAccessをデータベースに使い、 jspを書いたのですが、「java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] パラメータが少なすぎます。1 を指定してください」というエラーが出ました。どこに何をどう書き足せば良いのでしょうか? 教えてください。よろしくお願いします!

  • ODBC Drivers エラー

    クリックありがとうございます。 先日、先行でチケットをとるページでチケットの予約をしました。 そのときはまったく問題がなくページにアクセスできたのですが 2日ほどまえから Microsoft OLE DB Provider for ODBC Drivers エラー '80040e07' [Microsoft][ODBC SQL Server Driver][SQL Server]構文エラー。varchar 値 '*****' から int データ型に変換できませんでした。 /*****/****/****/**/logon_p.asp, 行 22 というエラー文がでてアクセスできなくなりました。 チケットのあたりはずれも同じページでの確認なので困っています。 どうすればいいでしょうか?

  • SQL構文のINSERT INTOエラーについて

    cmnd.CommandText = "INSERT INTO Mnthly (Ym,Day,Gyo,Nam) VALUES ('" & wYm & "' , " & r & " , " & i & " , '" & wNam & "')" でINSERT INTO構文エラーとなります・・・どうしてでしょう? DayとGyoは数値型、他はテキスト型です。

  • JDBCでのinsertについて

    JDBCを使ってDBを扱います。 データベースはPostgresqlです。 Servlet+JSP+Beanで開発しているのですが、 以下のようなinsert処理をBeanで行っています。 String sql_insert = "INSERT INTO tal_ks(cd,kbn)" + " VALUES(" + vl1 + ",'" + vl2 + "')";System.out.println(sql_insert); System.out.println("SQL文発行"); int in = stmt.executeUpdate(sql_insert); System.out.println("(SQL文発行後"); ・ ・ ・ これを行うと、例外処理には流れず 実行したかのように見えるんですが、 実際はデータがはいっておりません。 このSQLと同じものをpsqlで直接実行すると insert できました。 これは、どういうことが原因なのでしょうか? 教えていただきたいです。

    • ベストアンサー
    • Java
  • INSERT INTOステートメント構文エラーについての質問です

    INSERT INTOステートメント構文エラーについての質問です VB6.0+Access2003で開発を行っていますがInsert文の発行で上記のエラーメッセージが表示されます。 エラーとなっている部分は Set rst = Ado_connect.Execute(strINS) です。 rstはDim rst As ADODB.Recordsetと宣言しています。 Debug.Print strINSでinsert文を取得し、クエリでSQLを実行したところ、正常に追加されました。 様々なサイト等を調べて単純にSQLがおかしいだけだと思って修正をしていたのですがクエリでSQLが正常に実行できたということはSQLに問題がないということでしょうか? 正直手詰まりといった感じでSQL以外に何を修正すれば良いかわからないというのが現状でこちらに質問させていただきました。 皆様の知恵を貸してください。どうかよろしくお願い致します。

  • SQLの構文エラー??

    お世話になっています。 OS:Win2000 DB:Access2000 です。 Insert文、Update文共に「構文エラー」になってしまいます。 ですが、実行したSQL文をAccessのクエリに貼り付けて実行しても エラーにならず、正常に実行されます。 エラーになったSQL文は以下のとおりです。 INSERT INTO D_Schedule (ShisetuNo,YYYYMMDD,ScheTime,Seq,Title,Memo,AddDate,UpdDate) VALUES (1,20041213,'0900',6,'BBB','BBB',#2004/12/16 14:31:49#,#2004/12/16 14:31:49#) UPDATE D_Schedule Set YYYYMMDD =20041213, ScheTime ='0900', Title ='AAA', Memo ='BBB', UpdDate =#2004/12/16 14:30:06# WHERE ShisetuNo=1 AND YYYYMMDD=20041213 AND ScheTime='0900' AND Seq=2 Insert文の場合、Valueの左側を指定しないで Insert Into D_Schedule Values()だとエラーにならないです。 何かお心当たりのある方、ご指摘お願いいたします。 DB更新はADOで行っています。 ADOの接続方法は Set gobjCon = Server.CreateObject("ADODB.Connection") gobjCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=" & GCOM_DBNAME & ";" です。 SQL文の実行方法は gobjCon.Execute(strSQL) です。よろしくお願いいたします。

  • ODBCによるエラー

    ODBCについての質問です VB.NET・AS400でODBC接続で開発しているのですが、以下のエラーが出てしまい困っています ************************************************************ ERROR [HY000] [IBM][iSeries Access ODBC ドライバー][DB2 UDB]SQL0666 - SQL QUERYが指定された時間制限または記憶制限を超えています。 ERROR [01000] [IBM][iSeries Access ODBC ドライバー]拡張動的 サポート が使用不能です。 ************************************************************ わかっている事は ・4つのDBを接続している場所でエラーが出ている ・昔は起きておらず、最近おき始めた(昔は接続数が少なかったが最近増えた) ・コントロールパネルのデータソース(ODBC)の「拡張動的サポートを使用可能にする」のチェックボックスは付いている ・上記エラーが出るPCと、エラーが出ずに正常に終わるPCがある です 検索しても対処法が出てこずに少々困っています 宜しくお願いします

専門家に質問してみよう