Error running datainsert to insert row in sqlserver database

2 views (last 30 days)
Hello,
I'm trying to insert a row into my sql server database using datainsert but I keep getting errors everytime I run.
Annotation 2019-05-13 003654.png
I know my connection is correct as it works in fetching data.
conn = database('SqlServer','','');
data = {1 'Deposit' 500};
columns = {'CardID' 'Type' 'Amount'};
table = 'HakunaMatata.dbo.Transcations';
datainsert(conn,table,columns ,data);
close(conn);

Answers (1)

Piyush Kumar
Piyush Kumar on 26 Jul 2024
The error you’re encountering with the datainsert function in MATLAB when inserting a row into a SQL Server database might be related to transaction handling.
Here are some steps to troubleshoot and resolve the issue:
  1. Check Transaction Statements: Ensure that your code includes proper BEGIN TRANSACTION and COMMIT TRANSACTION statements. The error indicates a ROLLBACK without a corresponding BEGIN.
  2. Try sqlwrite function instead of datainsert
  3. Verify Data Types: Ensure that the data types of the columns in your MATLAB table match those in the SQL Server table.
  4. Check this link - ROLLBACK TRANSACTION request has no corresponding BEGIN TRANSACTION error in sql server - Stack Overflow. The error statement is similar here.

Products


Release

R2017b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!