首页 / 浏览问题 / 其他 / 问题详情
关联数据表参数设置
8EXP 2017年01月13日

function queryBySQL() {
    // 设置关联的外部数据库信息,alias表示数据库别名
        var dc = new SuperMap.REST.DatasourceConnectionInfo({
            dataBase: "yunzhuli_test",//数据库名
            server: "10.31.18.190",//服务器名
            user: "sa",//用户名
            password: "Sql2008r2",//密码
            driver: "SQL Server",//数据库驱动名称
            connect: true,//是否自动连接
            OpenLinkTable: false,
            alias: "yunzhuli_test",//数据源别名
            engineType: SuperMap.REST.EngineType.SQLPLUS,//数据源连接引擎类型ORACLEPLUS
            readOnly: false,//是否以只读方式打开数据源
            exclusive: false//是否以独立方式打开数据源
        });
       // 设置关联信息
        var linkItem = new SuperMap.REST.LinkItem({
            datasourceConnectionInfo: dc,//关联外部数据源信息
            foreignKeys: ["AD_CODE"],//主空间数据集外键
            foreignTable: "zl_gxslx_pa_prov_1701",//关联外部属性表的名称
            linkFields: ["dbqk_id"],//外部属性表的需要保留字段名称
            name: "link",//此关联信息对象的名称
            primatryKeys: ["zl_gxslx_pa_prov_1701.prov_code"],//需要关联外部属性表的主键
        });
        // 设置查询参数,在查询参数中添加linkItem关联条件信息
        var queryParam, queryBySQLParams, queryBySQLService;
        queryParam = new SuperMap.REST.FilterParameter({
            name: "China_province_city_pg@User_Polygon",//数据集名称@数据源别名
            //zl_gxslx_pa_prov_1701@yunzhuli_test
            //China_province_city_pg@User_Polygon
            fields: ["AD_CODE","dbqk_id"],//查询字段数组
            attributeFilter: "dbqk_id<4",//查询条件SmSdriW>10000000 dbqk_id<4
            linkItems: [linkItem]
         });
        queryBySQLParams = new SuperMap.REST.QueryBySQLParameters({
             queryParams: [queryParam]
                });
        queryBySQLService = new SuperMap.REST.QueryBySQLService(url, {
            eventListeners: {
                "processCompleted": processCompleted,
                "processFailed": processFailed
                }
        });
        queryBySQLService.processAsync(queryBySQLParams);

*******************************************************************************************

设置上还是有问题,没有关联上外表,只能打印出来iserver上的图层数据字段名而且没有具体数据值?

请问参数怎么修改呢?

1个回答

你可以参考一下这篇博文http://blog.csdn.net/supermapsupport/article/details/52572791

注意一下外键和主键的设置,设置主键的时候不需要再加外部表的名字。如果你没有修改过的话,我们数据集的外键默认为SmID。
1,603EXP 2017年01月13日
...