【发布时间】:2019-09-02 13:48:46
【问题描述】:
我正在尝试使用光标删除表,但它总是说语法错误,尽管我以前使用过它并且工作过但没有删除表
def check_TempTableNames(tableName):
print(tableName)
with connections['DataAdmin'].cursor() as cursor:
print("Check Done")
cursor.execute("DROP TABLE %s",[tableName])
def preStepBtn2(request):
#empty=Rfde2003Syd0827.objects.using('DataAdmin').all()
sourcePE = request.GET.get('sourcePE')
targetPE =request.GET.get('targetPE')
dropdownConnType =request.GET.get('dropdownConnType')
sourceInterFace =request.GET.get('sourceInterFace')
targetInterFace =request.GET.get('targetInterFace')
temp_looback = "sop_ce_loopback_interface_" + sourcePE + "_" + targetPE
TEMP_ROUTER_STATUS = "sop_ce_router_status_" + sourcePE + "_" + targetPE
Temp_virtual_int = "sop_ce_virtual_interface_" + sourcePE + "_" + targetPE
print(temp_looback)
check_TempTableNames(temp_looback)
check_TempTableNames(TEMP_ROUTER_STATUS)
check_TempTableNames(Temp_virtual_int)
我的数据库:
DATABASES = {
'default': {
'ENGINE': 'sql_server.pyodbc',
'NAME': 'Fileade',
'HOST': '10.238.76.53',
'USER': 'SDS_dataflow',
'PASSWORD': 'SDS_dataflow',
'OPTIONS': {
'driver': 'ODBC Driver 13 for SQL Server',
}
} ,
'DataAdmin': {
'ENGINE': 'sql_server.pyodbc',
'NAME': 'Data_Admin',
'HOST': '10.238.76.53',
'USER': 'SDS_dataflow',
'PASSWORD': 'SDS_dataflow',
'OPTIONS': {
'driver': 'ODBC Driver 13 for SQL Server',
}
}
}
Traceback(最近一次调用最后一次): 文件“C:\Users\Mohammed\Envs\TestEnv\lib\site-packages\django\core\handlers\exception.py”,第 34 行,在内部 响应 = get_response(请求) _get_response 中的文件“C:\Users\Mohammed\Envs\TestEnv\lib\site-packages\django\core\handlers\base.py”,第 126 行 response = self.process_exception_by_middleware(e, request) _get_response 中的文件“C:\Users\Mohammed\Envs\TestEnv\lib\site-packages\django\core\handlers\base.py”,第 124 行 响应 = Wrapped_callback(request, *callback_args, **callback_kwargs) preStepBtn2 中的文件“D:\College\Orange Training\MassiveMigrationPortalTool\posts\views.py”,第 170 行 check_TempTableNames(temp_loopback) 文件“D:\College\Orange Training\MassiveMigrationPortalTool\posts\views.py”,第 147 行,在 check_TempTableNames cursor.execute("DROP TABLE %s;",[tableName]) 文件“C:\Users\Mohammed\Envs\TestEnv\lib\site-packages\django\db\backends\utils.py”,第 100 行,在执行中 返回 super().execute(sql, 参数) 文件“C:\Users\Mohammed\Envs\TestEnv\lib\site-packages\django\db\backends\utils.py”,第 68 行,在执行中 return self._execute_with_wrappers(sql, params, many=False, executor=self._execute) _execute_with_wrappers 中的文件“C:\Users\Mohammed\Envs\TestEnv\lib\site-packages\django\db\backends\utils.py”,第 77 行 返回执行程序(sql,参数,许多,上下文) 文件“C:\Users\Mohammed\Envs\TestEnv\lib\site-packages\django\db\backends\utils.py”,第 85 行,在 _execute 返回 self.cursor.execute(sql, params) exit 中的文件“C:\Users\Mohammed\Envs\TestEnv\lib\site-packages\django\db\utils.py”,第 89 行 从 exc_value 提高 dj_exc_value.with_traceback(traceback) 文件“C:\Users\Mohammed\Envs\TestEnv\lib\site-packages\django\db\backends\utils.py”,第 85 行,在 _execute 返回 self.cursor.execute(sql, params) 执行中的文件“C:\Users\Mohammed\Envs\TestEnv\lib\site-packages\sql_server\pyodbc\base.py”,第 546 行 返回 self.cursor.execute(sql, params) django.db.utils.ProgrammingError: ('42000', "[42000] [Microsoft][ODBC Driver 13 for SQL Server][SQL Server]'@P1' 附近的语法不正确。(102) (SQLExecDirectW); [42000] [Microsoft][ODBC Driver 13 for SQL Server][SQL Server]无法准备语句。(8180)") [02/Sep/2019 15:43:57] "GET /posts/preStepBtn2?targetInterFace=GE2%2F3%2F4&targetPE=byyc916&sourcePE=byyc815&sourceInterFace=GE4%2F0%2F1&dropdownConnType=Ethernet HTTP/1.1" 500 20592
【问题讨论】:
标签: sql sql-server django django-models