C#devoper在玩python,我在使用SQLAlchemy向SQL数据库插入行时遇到了问题。
更新代码是这样的。
def updateDatabase(self, testSummary):
params = quote_plus(
"DRIVER={ODBC Driver 17 for SQL Server};SERVER=GBBED01DB01\SQLHOTEL2;DATABASE=TesterDb;trusted_connection=yes")
engine = create_engine(
"mssql+pyodbc:///?odbc_connect={}".format(params))
Session = sessionmaker(bind=engine)
session = Session()
session.add(testSummary)
for testStepResult in testSummary.testStepResults: <------- Exception
session.add(testStepResult)
for ictResult in testStepResult.ictResults:
session.add(ictResult)
try:
session.commit()
except Exception as e:
print("SQL failed to save\n" + e)
我已经标记了异常发生的位置,这就是异常。
(pyodbc.ProgrammingError) ("A TVP's rows must be Sequence objects.", 'HY000') [SQL: 'INSERT INTO [IctResults] ([didTestPass], [testName], component, [lowerLimit], [upperLimit], measured, [rawMeasured], [isOverRange], [isUnderRange], [isPosativeInfinity], [isNegativeInfinity], [testStepResultId]) OUTPUT inserted.id VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)'] [parameters: (1, 'Motor Resistance Check', 'Motor', (2224.0,), (2409.0,), (2292.9794921875,), (2292.9794921875,), 0, 0, 0, 0, 129649)]
表结构如下所示
^{pr2}$也许我的关系安排不对,但应该是这样。 一个“Test Summary”包含多个“TestStepResult”,一个“TestStepResult”包含多个“IctResult”。
目前没有回答
相关问题 更多 >
编程相关推荐