有关详细信息,我正在运行python和PyODBC的最新版本,并尝试在SQL上远程实例化一个备份。我不太懂SQL。我试过用google搜索这个问题,也试过下面的一些技巧,包括使用.nextset()和尝试不同的编码以防万一。我看到在使用SQL server的PC机的本地网络上有一个很大的激增,但它很快就变成了零。我似乎也不能运行一个存储过程,因为它似乎永远也找不到它,尽管它已经存在,并且能够从我的本地计算机上使用SSMS或远程PC上的SSMS运行。而且,据我所知,我已经给了完整的访问sql server的远程帐户的访问权限
以下是相关功能:
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备份的示例,那么这段代码非常有用。不幸的是,我在找乔治的文件夹,而不是弗雷德
相关问题 更多 >
编程相关推荐