我正在尝试使用 sqlalchemy 删除我的数据库:
def dropDb(self, dbName):
self.closeConnection()
self.selectDb(None)
self.execute("drop database %s" % dbName)
def closeConnection(self):
self._Session.close_all()
self._engine.dispose()
del self._Session
del self._engine
Run Code Online (Sandbox Code Playgroud)
我用以下方法创建引擎:
sqlalchemy.create_engine(connection_string, poolclass = NullPool)
Run Code Online (Sandbox Code Playgroud)
但我收到以下错误:
详细 ProgrammingError: (ProgrammingError) ('42000', '[42000] [Microsoft][ODBC SQL Server Driver][SQL Server]无法删除数据库“test_db”,因为它当前正在使用中。(3702) (SQLExecDirectW)') '删除数据库 test_db'()
如何强制关闭所有连接?
我正在尝试检查路径符号链接硬链接或Windows上的连接点我该怎么办?os.path.islink()
不行.它始终返回False
我通过下一个方法创建符号链接:
mklink /d linkPath targetDir
mklink /h linkPath targetDir
mklink /j linkPath targetDir
Run Code Online (Sandbox Code Playgroud)
我使用命令行是因为os.link和os.symlink仅在Unix系统上可用
也许它有任何命令行工具?谢谢
是否有可能连接MSSQL服务器,使用的SQLAlchemy和thencreate数据库?
我使用以下内容:
sqlalchemy.create_engine("mssql+pyodbc://sa:pwd@localhost/")
但是我收到一个错误:
Detail DBAPIError: (Error) ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnect)') None None
我想连接到服务器,然后创建数据库并使用它.
我尝试在 exe 文件中构建我的 python selenium 测试并在许多机器上运行它以保持测试独立于环境。但是结果 *.exe 文件找不到 selenium webdriver。如何在 *.exe 文件中包含所有 selenium 依赖项?或者也许还有其他方法?是否可以制作虚拟环境并分发它?
我使用下一个命令来运行我的测试:
python -m unittest discover -p "*.py"
它将测试结果写入标准输出。但我想将结果作为文件(如果可能的话在 html 中)现在我使用 PyCharm 获得它并且它运行良好但我需要自动在远程机器上运行测试并获得报告。我该怎么做?
我试着这样做:
import unittest
def decorator(cls):
class Decorator(cls):
def __init__(self, *args, **kwargs):
super(Decorator, self).__init__(*args, **kwargs)
return Decorator
@decorator
class myClass(unittest.TestCase):
def __init__(self, *args, **kwargs):
super(myClass, self).__init__(*args, **kwargs)
self.test = 'test'
def test_test(self):
pass
myClass().run()
Run Code Online (Sandbox Code Playgroud)
但我得到了递归MyClass.__init__
.有什么方法可以避免这种情况吗?
我创建我的表使用下一个代码:
class tableName(self._dbHelper.DeclarativeBase):
__tablename__ = "tableName"
if not tableEngine is None:
__table_args__ = {'mysql_engine' : tableEngine}
first = Column(Integer, primary_key = True, autoincrement = True)
second = Column(String(45))
third = Column(String(100))
def __init__(self, second = Utils.uniqID(), third = Utils.uniqID()):
self.second = second
self.third = third
Run Code Online (Sandbox Code Playgroud)
但后来我试图删除表,我得到一个错误,tableName不包含方法drop()我怎么能删除这个表?
python ×7
sqlalchemy ×3
decorator ×1
nose ×1
odbc ×1
pyinstaller ×1
python-2.7 ×1
selenium ×1
sql-server ×1
unit-testing ×1