1

也许有人有铬构建经验,可以进一步提供帮助:

使用铬 sqlite 动态加载模块似乎是不可能的。

想象一下,您想通过 javascript 加载spatialite sqlite 扩展。

我做了什么:

    db = window.openDatabase("test.sqlite", 1, "test.sqlite", 10000000);  
    db.transaction(function(tx, myArray) {
     tx.executeSql("select load_extension('/home/user/tmp/libspatialite.so');", [], function(tx, result) {
        console.log("load_extension spatialite");
    },
      function(tx, err) { console.log(err);}
    );
    });

但这以“无法准备语句(1未授权使用函数:load_extension)”结尾。

但是,我获取了 chromium-24.0.1290.0-1.39.1.x86_64.rpm 并尝试在启用加载模块扩展的情况下构建 chromium,但没有成功。

我做了什么:

  • 扩展/chromium/src/third_party/sqlite/sqlite.gyp:

    'SQLITE_OMIT_AUTHORIZATION',
    
  • 扩展 /chromium/src/third_party/sqlite/google_generate_amalgamation.sh 与:

        ../configure --enable-load-extension=yes
    

在经历了几个小时的失败后,我提出了一个功能请求 chromium 错误跟踪器(不允许 web 数据库(sqlite) load_extension)。我猜这个功能请求甚至不会被开发人员识别,因为他们的工作量很大。

4

0 回答 0