2011-08-09 32 views
1

请帮助我,有问题。我有一个虚拟表在我的SQLite数据库:未知的Tokenizer:icu在sqlite3请求

`CREATE VIRTUAL TABLE tablename USING fts4(column1, column2, tokenize=icu ua_UA)` 

当我尝试做一个SQL查询到这个表像

const char *sql = "SELECT column2 FROM tablename WHERE tablename.column1 MATCH ?"; 
sqlite3_bind_text(statement, 1, [matchString UTF8String], -1, SQLITE_TRANSIENT); 

我越来越从数据库中的下一个错误:错误:“未知tokenizer:icu'。 我已经下载了源码的sqlite,将sqlite.c添加到我的xCode4项目中,并将#define SQLITE_ENABLE_FTS4添加到sqlite.c文件中。但问题依然存在。 我试图在模拟器中做它,可能是原因?

请帮助我。如何使用xCode 4在iPhone上处理FTS4?我应该使用一些古老的魔法? :)

玩得开心!

回答

2

您还需要重新编译sqlite库本身,并使用SQLITE_ENABLE_ICU #defined。

仅仅在Xcode中添加源文件和选项是不够的,因为sqlite库不会被重新创建。

请参阅ICU文档中的Tokenizers