我有一个用于管理药房的应用程序(只是一个示例),此应用程序的开发是为了使其与单个药房相关。此应用程序映射在 Micrsoft DBMS MSSDE 上
每个药房生成数据库文件( pharmacy.mdf , pharmacy_log.mdf )
因此,在从不同药房获取这些文件后,我编写了一个脚本来自动从这些文件中提取数据
当应用程序运行时,脚本执行以下任务: - 停止服务器 MSSQL 服务器 - 从文件夹文件中复制两个文件 恢复并将它们粘贴到应用程序的路径中 - 重新启动服务器 - 提取所需的数据
与有问题的数据库的连接是使用 python pyodbc 模块
一旦提取在某个时间运行 pyodbc 崩溃
我收到了这个错误:
cursor.execute ('select * from Pha.dbo.table_test') pyodbc.Error : ('01000',' [01000] [Microsoft] [ODBC SQL Server 驱动程序] [共享内存] ConnectionWrite ((send () (10054) (SQLExecDirectW)')
我为连接编写了这段代码:
log = os.path.join(path,c,"SIC_log.ldf")
mdf = os.path.join(path,c,"SIC.mdf")
print(log)
print(mdf)
subprocess.call('net stop mssqlserver')
time.sleep(2)
os.system('copy "' + log + '" "' + MSSQL_DIR+'"')
os.system('copy "' + mdf + '" "' + MSSQL_DIR+'"')
time.sleep(2)
subprocess.call('net start mssqlserver')
time.sleep(2)
# Open a connection with the database
cnxn = pyodbc.connect('DSN=SIC_ODBC')
time.sleep(2)
extract_clo(cnxn, wb, ws)
cnxn.close()