У меня есть скрипт Python, как показано ниже, который я могу подключить к базе данных сервера и получить данные
db = QtSql.QSqlDatabase.addDatabase('QODBC')
db.setDatabaseName("DRIVER={SQL Server};SERVER=myservername;DATABASE=master;Trusted_Connection=yes")
db.open()
with open(QueryFile , "r") as readQuery:
queryText = readQuery.read()
readQuery.close()
query = QtSql.QSqlQuery()
query.exec_(queryText)
while query.next():
for i in range (query.record().count()):
temp_list.append(query.value(i))
queryResultList.append(temp_list[:])
del temp_list[:]
db.close()
, когда я выполняю запрос с объявлением-установкой переменной, тогда он выдает ошибку, как показано ниже
USE myDB
Declare @M as integer
set @M= 3
Select top 1000 Position.latitude,
Position.longitude,
data
from mydatas,Position
where mydatas.data > @M
"QODBCDriver :: disconnect: невозможно отключить источник данных" Ошибка: "[Microsoft] [Драйвер ODBC SQL Server] [Общая память] ConnectionClose (closesocket ())." QODBCDriver :: cleanup: Unableосвободить дескриптор соединения "" QODBCDriver :: cleanup: Невозможно освободить дескриптор среды "
Ошибка:" [Microsoft] [Диспетчер драйверов ODBC] .... "
, но когда я закомментируюв строке set @M=3
и измените значение @M
на 3 в предложении where:
USE myDB
Declare @M as integer
--set @M= 3
Select top 1000 Str(Position.latitude, 13, 13),
Str( Position.longitude, 13, 13),
Str(data)
from dbo.mydatas,Position
where mydatas.data > 3
оно просто работает, как и ожидалось, в чем здесь проблема?