python - 我在使用 PyODBC 和 SQL Express Server 2008 进行备份时做错了什么
问题描述
有关详细信息,我正在运行最新版本的 python 和 PyODBC,并尝试远程实例化 SQL 上的备份。我对SQL不太了解。我试过用谷歌搜索这个问题,并尝试了以下一些技巧,包括使用 .nextset() 和尝试不同的编码以防万一。我看到带有 SQL 服务器的 PC 的本地网络出现了大幅增长,但它很快就消失了。我似乎也无法运行存储过程,因为它似乎永远不会找到它,尽管它存在并且能够使用 SSMS 或远程 PC 上的 SSMS 从我的本地计算机运行。据我所知,我还完全访问了访问 sql 服务器的远程帐户
以下是相关功能:
def back_up_and_restore(self):
if self.Arbin not in [3, 4]:
self.errorString = "Not remote server!"
return self.errorString
self.cnxn = pyodbc.connect(self.connectionString(self.db[0]))
self.cursor = self.cnxn.cursor()
self.cnxn.autocommit = True
if self.Arbin == 3:
folder = "Fred"
else:
folder = "George"
query = r"BACKUP DATABASE [%s] TO DISK = N'\\10.130.130.5\TestLab\DATA\%s\ArbinMasterData.bak' WITH NOFORMAT, INIT, NAME = N'ArbinMasterData-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10" % ("ArbinMasterData", folder)
#query = "{CALL BackUp%s2}" % folder
query.encode(encoding='UTF-8')
print(query)
self.cursor.execute(query)
time.sleep(2)
while self.cursor.nextset():
pass
self.cnxn.close
当我运行该功能时,它很快就死了,什么也没说。如果我尝试运行存储过程,它会说存储过程不存在。任何帮助都会很棒。
解决方案
如果您需要 PyODBC 进行备份的示例,此代码非常有用。不幸的是,我正在查看 George 文件夹而不是 Fred。
推荐阅读
- android - 错误:无法为根项目获取未知属性“插件”
- c# - Roslyn - 查找对具有调用详细信息的方法的所有引用(具体的通用参数)
- oauth-2.0 - 无法从 v2.0 Azure tokenEndpoints 获取 oauth v2.0 access_token
- git - 队友修改更改后面临自动合并失败
- json - 如何从 json 中获取图像并将其放置在轮播中?扑
- mysql - Mysql 5.7:选择所有列,但在选择的开头特别看到一个
- java - 列中不允许空值 - 旧数据库
- mongodb - Mongodb聚合$或$eq上的条件
- angular - Angular Ngrx - 如何让不同的调用循环数组?
- python - 将列表中的元素与以下元素相除?