无法按位调用方法
Cannot call methods on bit
我正在尝试检查两个地理对象是否相交并删除重叠部分(不在下面的代码段中执行此部分)。请在下面找到代码。它给我错误
Cannot call methods on bit.
我正在使用 mssql 库并使用节点 10。我找不到任何关于此错误的信息。我想知道这是代码错误还是 mssql 库的问题。如果是,我该如何解决这个问题?
*****更新******
它只对 STIntersects() 给出此错误,对 STIntersection() 和 STDifference 工作正常。
const sql = require('mssql');
let path1 = `geography::STGeomFromText('POLYGON((-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653))', 4326).MakeValid()`;
let path2 = `geography::STGeomFromText('LINESTRING(-122.360 47.656, -122.343 47.656)', 4326).MakeValid()`;
let query = `SELECT ${path1}.STIntersects(${path2}).ToString();
SELECT ${path1}.STIntersection(${path2}).ToString();`;
let dbConfig = {
user: 'username',
password: 'password',
server: 'localhost',
database: 'db_name',
port: port,
connectionTimeout: 30000,
requestTimeout: 180000,
max: 15,
min: 3,
idleTimeoutMillis: 30000
};
sql.connect(dbConfig, err => {
if (err)
throw err;
console.log('Success');
queryExecuter();
});
let queryExecuter = async () => {
try {
let request = new sql.Request();
let result1 = await request.query(query)
console.log(result1)
} catch (err) {
console.log(err)
// ... error checks
}
}
sql.on('error', err => {
console.log(err)
// ... error handler
})
基本上,我只是想在 return 类型的 STIntersects() 上调用 ToString() 函数,而不是 SQL 中的 supported/required。感谢@Jeroen Mostert 消除了歧义。
我正在尝试检查两个地理对象是否相交并删除重叠部分(不在下面的代码段中执行此部分)。请在下面找到代码。它给我错误
Cannot call methods on bit.
我正在使用 mssql 库并使用节点 10。我找不到任何关于此错误的信息。我想知道这是代码错误还是 mssql 库的问题。如果是,我该如何解决这个问题?
*****更新****** 它只对 STIntersects() 给出此错误,对 STIntersection() 和 STDifference 工作正常。
const sql = require('mssql');
let path1 = `geography::STGeomFromText('POLYGON((-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653))', 4326).MakeValid()`;
let path2 = `geography::STGeomFromText('LINESTRING(-122.360 47.656, -122.343 47.656)', 4326).MakeValid()`;
let query = `SELECT ${path1}.STIntersects(${path2}).ToString();
SELECT ${path1}.STIntersection(${path2}).ToString();`;
let dbConfig = {
user: 'username',
password: 'password',
server: 'localhost',
database: 'db_name',
port: port,
connectionTimeout: 30000,
requestTimeout: 180000,
max: 15,
min: 3,
idleTimeoutMillis: 30000
};
sql.connect(dbConfig, err => {
if (err)
throw err;
console.log('Success');
queryExecuter();
});
let queryExecuter = async () => {
try {
let request = new sql.Request();
let result1 = await request.query(query)
console.log(result1)
} catch (err) {
console.log(err)
// ... error checks
}
}
sql.on('error', err => {
console.log(err)
// ... error handler
})
基本上,我只是想在 return 类型的 STIntersects() 上调用 ToString() 函数,而不是 SQL 中的 supported/required。感谢@Jeroen Mostert 消除了歧义。