David,
could you please: 1. post a (partial, at least) stack trace along with a detail message you get; 2. try a similar insertion of a Float.NaN into a FLOAT field and tell what happens? String versions are only good if performance is really not an issue, or record matching will be extremely slow. Otherwise, if your double values can be NaNs but are essentially not nullable, you probably should use NULLs to represent NaNs at database level. Regards, Andrew.