2017-01-13 2 views
0

私はScala/Slick(2.12/3.2)を使ってBlob型のテーブルを問い合わせています。 slick.codegen.SourceCodeGeneratorは、列タイプをRep[Option[java.sql.Blob]]として生成しました。しかし、私がそれをクエリしようとすると、私は得るSlick/Scala用のxerial/SQLIteの実装されていないgetBlobの標準的な方法は?

java.sql.SQLException: not implemented by SQLite JDBC driver 
    at org.sqlite.jdbc4.JDBC4ResultSet.unused(JDBC4ResultSet.java:333) 
    at org.sqlite.jdbc4.JDBC4ResultSet.getBlob(JDBC4ResultSet.java:356) 

getBlobは単に例外をスローします。 https://github.com/xerial/sqlite-jdbc/issues/135 getBlobが実装されていないことを確認します。それで、sqlite dbからBlobデータを取り出すためのスカラ/スッキリの標準的な方法は何ですか? xerialの標準的な代替品はありますか?またはオートジェンコードを変更する必要がありますか?

答えて

1

あなたがテキストとしてブロブを返すためにhex() functionを使用することができます(あなたは、あなたのコードに戻ってそれを変換する必要があります):

SELECT hex(MyBlobColumn) FROM ... 
+0

を、私はこれは私が尋ねた質問に答えると仮定し、私は本当に求めているべきものSlickでブロブを出す方法は:)でした。生のSQLを書くことは、コードの残りの部分でうまくいくのが難しくなります(たぶん私はSlickと経験の浅いです)。 – divbyzero

関連する問題