HSQLデータベースのソースとしてシンプルなCSVファイルを取得しようとしています。 私は、次のエラーを取得し、日付でブロックされています:CSVテーブル付きHSQLDBテーブルソース - 日付フォーマットが受け入れられません
Exception in thread "main" java.sql.SQLException: bad TEXT table source file - line number: 1 org.hsqldb.HsqlException: data exception: invalid datetime format in statement [SET TABLE Patient SOURCE "queryDbTest.csv;fs=,;vs=,"]
at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source)
at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source)
私はすべてが同じエラーで失敗しました、多くのバリエーションを試してみました。ファイルが読み込まれて、それをデバッグする際に、正しい日付形式で理解している日付を解析するのに失敗しているのが分かります。カラム型の代わりに
- を:
私のコードは、私が試してみました
'1234', 'N998877', 'Smith', 'Mary', '1999-12-01', 'an address 1'
バリエーションが含ま
System.setProperty("textdb.allow_full_path", "true"); Class.forName("org.hsqldb.jdbcDriver"); Connection conn = DriverManager.getConnection("jdbc:hsqldb:mem:mymemdb", "SA", ""); Statement st = conn.createStatement(); st.execute("CREATE TEXT TABLE Patient (" + "HospitalNumber VARCHAR(100), " + "NHS_Number VARCHAR(100), " + "Name VARCHAR(100), " + "other_names VARCHAR(100), " + "dob Date, " + "address VARCHAR(200))"); st.execute("SET TABLE Patient SOURCE \"" + "queryDbTest.csv" + ";all_quoted=true;fs=,;qc=\\quote\"");
を次のようになり、私のCSV CSVファイルでのDateTime形式の使用(i..e、yyyy-MM-dd のHH:MM:SS)
- CSV(すなわち、YYYY-MM-DD HHにおけるタイムスタンプ形式を使用した:MM:ss.SSSSS)
- CSVで日付の値としてヌル使用。すべての場合において、csvファイル
での日付値の前に単語「DATE」で
私はHSQLDB-2.3.4
任意のアイデアを使用していますか?
fredtからの提案の後に、最近の試みを反映するために私の上記のコードを修正しました – svaens