问题描述
我有一个由“-”组成的数据库名称(如 dbname-2020)。当我尝试执行查询时出现以下错误:
pymssql.ProgrammingError: (102,b"Incorrect Syntax near '-'.DB-Lib error message 20018,severity 15:\nGeneral sql Server error: Check messages from the sql Server\n")
这是我使用的代码:
serverName = 'servername.com'
userName = 'user2'
passWord = 'pass2'
dbname = 'dbname-2020'
conn = pymssql.connect(serverName,userName,passWord,"tempdb")
cursor1 = conn.cursor()
db_query = "SELECT CONVERT(date,LastImportDate),* from "+dbname+"..tblStores WHERE run= %s"
query_result1 = cursor1.execute(db_query,('true'))
query_output = cursor1.fetchone()
相同的代码适用于所有其他数据库。如何传递带有“-”的数据库名称?
解决方法
使用方括号
fn read_timestamp() -> Result<String,&'static str> {
let path = "/timestamp.txt";
FileLock::lock(path,true,true)
.and_then(|mut lock| {
let mut content = String::new();
lock.file.read_to_string(&mut content)
.map(|_| content)
})
.map_err(|e| match e.kind() {
NotFound => Err("File not found"),Interrupted | PermissionDenied | WouldBlock
=> Err("Cannot acquire lock"),_ => Err("Cannot read file")
})
}
}