예제 #1
0
파일: database.py 프로젝트: amoyx/OpsManage
             return JsonResponse({'msg':"获取SQL优化数据成功","code":200,'data':result,'tag':2}) 
         else:
             return JsonResponse({'msg':"获取SQL优化数据失败","code":500,'data':result,'tag':2}) 
     else:return JsonResponse({'msg':"获取SQL优化数据失败","code":500,'data':[],'tag':2})
     
 elif request.method == "POST" and request.POST.get('opsTag') == '3':#执行DQL
     if re.match(r"^(\s*)?select(\S+)?(.*)", request.POST.get('sql').lower()):            
         try:
             dbServer = DataBase_Server_Config.objects.get(id=int(request.POST.get('dbId')))
         except Exception, ex:
             dbServer = None 
         if dbServer:
             mysql = MySQLPool(host=dbServer.db_host,port=dbServer.db_port,user=dbServer.db_user,passwd=dbServer.db_passwd,dbName=dbServer.db_name)
             result = mysql.queryMany(sql=request.POST.get('sql'),num=1000)
             if isinstance(result,str):
                 recordSQL.delay(exe_user=str(request.user),exe_db=dbServer,exe_sql=request.POST.get('sql'),exec_status=0,exe_result=str) 
                 return JsonResponse({'msg':"数据查询失败","code":500,'data':result,'tag':3})  
         recordSQL.delay(exe_user=str(request.user),exe_db=dbServer,exe_sql=request.POST.get('sql'),exec_status=1,exe_result=None)  
         return JsonResponse({'msg':"数据查询成功","code":200,'data':{"colName":result[2],"dataList":result[1]},'count':result[0],'tag':3})  
     else:return JsonResponse({'msg':"数据查询失败","code":500,'data':"不是DQL类型语句",'tag':3}) 
     
 elif request.method == "POST" and request.POST.get('opsTag') == '4' and request.user.is_superuser:#执行原生SQL         
     try:
         dbServer = DataBase_Server_Config.objects.get(id=int(request.POST.get('dbId')))
     except Exception, ex:
         dbServer = None 
     if dbServer:
         mysql = MySQLPool(host=dbServer.db_host,port=dbServer.db_port,user=dbServer.db_user,passwd=dbServer.db_passwd,dbName=dbServer.db_name)
         result = mysql.execute(sql=request.POST.get('sql'),num=1000)
         if isinstance(result,str):
             recordSQL.delay(exe_user=str(request.user),exe_db=dbServer,exe_sql=request.POST.get('sql'),exec_status=0,exe_result=result) 
예제 #2
0
 try:
     dbServer = DataBase_Server_Config.objects.get(
         id=int(request.POST.get('dbId')))
 except Exception, ex:
     dbServer = None
 if dbServer:
     mysql = MySQLPool(host=dbServer.db_host,
                       port=dbServer.db_port,
                       user=dbServer.db_user,
                       passwd=dbServer.db_passwd,
                       dbName=dbServer.db_name)
     result = mysql.queryMany(sql=request.POST.get('sql'), num=1000)
     if isinstance(result, str):
         recordSQL.delay(exe_user=str(request.user),
                         exe_db=dbServer,
                         exe_sql=request.POST.get('sql'),
                         exec_status=0,
                         exe_result=str)
         return JsonResponse({
             'msg': "数据查询失败",
             "code": 500,
             'data': result,
             'tag': 3
         })
 recordSQL.delay(exe_user=str(request.user),
                 exe_db=dbServer,
                 exe_sql=request.POST.get('sql'),
                 exec_status=1,
                 exe_result=None)
 return JsonResponse({
     'msg': "数据查询成功",