1、注意
- 1、對于
ANSI,ocilib::ostring相當(dāng)于std::string;
對于UNICODE,ocilib::ostring相當(dāng)于std::wstring; - 2、對于文本,添加時需要指出數(shù)據(jù)長度
st.Bind<ostring,int>(MT(":text"),ostr,50,BindInfo::InOut) - 3、對于日期,可以由字符串轉(zhuǎn)化,如:
ocilib::Date date("2017-09-21"),
或?qū)ζ滟x值:ocilib::Date date(true);//參數(shù),true創(chuàng)建日期對象。默認(rèn)為false。 date.SetDate(2017,9,21); - 4、對于 LOB 格式,如BLOB、CLOB等。以BLOB為例,需要創(chuàng)建一個
ocilib::Blob對象,代碼中是這樣定義的:
可以看出其中存放的是typedef Lob<Raw, LobBinary> Blob; typedef std::vector<unsigned char> Raw;std::vector<BYTE>,所以就可以通過以下方法寫入://參數(shù) void* pBuff 、 UINT length 、 Blob blob vector<BYTE> list; for (int i=0;i<(int)length;i++) { list.push_back(pBuff[i]); } blob.Write(list);
2、常見錯誤
| 錯誤描述 | 錯誤原因 |
|---|---|
| ORA-01747: user.table.column, table.column 或列說明無效 | 關(guān)鍵字 |
| ORA-01830: 日期格式圖片在轉(zhuǎn)換整個輸入字符串之前結(jié)束的解決辦法 | oracle的日期時間格式 |
| ORA-00911: 無效字符 | 結(jié)尾分號 |