4 Star 16 Fork 10

Apache/cloudstack

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
db.py 2.67 KB
一键复制 编辑 原始数据 按行查看 历史
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
import os
from .utilities import bash
from .cloudException import CloudRuntimeException
import mysql.connector
class Database(object):
"""Database connection"""
def __init__(self, username, password=None, host='localhost', port='3306', db="cloud"):
self.host = host
self.username = username
self.password = password
self.port = port
self.db = db
def connect(self):
return mysql.connector.connect(host=self.host,
user=self.username,
password=self.password,
database=self.db)
def execute(self, statement):
txn = None
try:
txn = self.connect()
cursor = txn.cursor()
cursor.execute(statement)
cursor.close()
txn.commit()
if txn is not None:
try:
txn.close()
except:
pass
except:
raise CloudRuntimeException("Failed to execute: %s " % statement)
finally:
if txn is not None:
try:
txn.close()
except:
pass
def testConnection(self):
try:
conn = self.connect()
conn.ping()
conn.close()
return True
except:
raise CloudRuntimeException("Failed to Connect to DB")
def executeFromFile(self, file):
if not os.path.exists(file):
return False
cmdLine = "mysql --host=" + self.host + " --port=" + str(self.port) + " --user=" + self.username
if self.password is not None:
cmdLine += " --password=" + self.password
cmdLine += " < " + file
try:
bash(cmdLine)
except:
raise CloudRuntimeException("Failed to execute " + cmdLine)
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/apache/cloudstack.git
git@gitee.com:apache/cloudstack.git
apache
cloudstack
cloudstack
main

搜索帮助