Jeffery要学习了 2023-02-22 10:50 采纳率: 50%
浏览 86
已结题

matlab向数据库输入数据失败,请教解决办法?

请教各位有经验的兄弟,本人纯初学者,由于毕设课题需要将matlab计算得到的矩阵输入到SQL数据库里,查看了各种教程以及对应的函数,
尝试了很多遍都无法保存matlab数据到SQL的表列里,一运行程序就会出现第四张图显示的报错,
这是我的matlab代码和报错,请教各位兄弟可以帮忙看下吗?
感激不尽!

img

img

img

  • 写回答

11条回答 默认 最新

  • 「已注销」 2023-02-22 11:06
    关注

    参考GPT和自己的思路,根据你提供的代码和错误信息,我发现有几个问题需要解决。
    根据错误信息,似乎是因为你没有正确使用事务来控制插入数据操作。建议在插入数据之前开始事务(BEGIN TRANSACTION),然后在插入完所有数据后提交事务(COMMIT),这样可以保证所有数据插入成功或者都不插入。另外,如果事务出现问题需要回滚,可以使用ROLLBACK。

    最后,我建议你检查一下数据库连接是否正确,包括用户名、密码、数据库名称等。

    以下是一个修改后的示例代码,供参考:

    colname_r = {'0时刻电场强度(Kv/mm)','0.1小时电场强度(kv/mm)','0.5小时电场强度(kv/mm)','1小时电场强度(kV/mm)','5小时电场强度(kv/mm)','10小时电场强度(kV/mm)','50小时电场强度(kv/mm)','100小时电场强度(kV/mm)','500小时电场强度(kv/mm)','1000小时电场强度(kv/mm)'};
    
    conn = database('database_name','username','password','Vendor','Microsoft SQL Server','Server','server_name');
    
    try
        % 开始事务
        exec(conn,'BEGIN TRANSACTION');
        
        % 插入数据
        insert(conn,'电场强度_杂质离子',colname_r,Elec_excel);
        
        % 提交事务
        exec(conn,'COMMIT');
        
        % 关闭连接
        close(conn);
        
    catch ME
        % 回滚事务
        exec(conn,'ROLLBACK');
        
        % 关闭连接
        close(conn);
        
        % 抛出异常
        rethrow(ME);
    end
    

    以下是一个简单的示例代码,用于将一个矩阵保存到 SQL 数据库中:

    % 假设矩阵名为 data,表名为 table_name,数据库名为 database_name,用户名为 username,密码为 password,服务器名为 server_name
    
    % 建立数据库连接
    conn = database('database_name','username','password','Vendor','Microsoft SQL Server','Server','server_name');
    
    % 开始事务
    exec(conn,'BEGIN TRANSACTION');
    
    % 插入数据
    colnames = {'col1','col2','col3'};
    data = rand(3,3); % 这里假设 data 是一个 3x3 的随机矩阵
    insert(conn,'table_name',colnames,data);
    
    % 提交事务
    exec(conn,'COMMIT');
    
    % 关闭连接
    close(conn);
    

    在这个示例代码中,我们首先建立了与 SQL 数据库的连接,然后开始了一个事务。接着,我们将矩阵 data 插入到表 table_name 中,并指定列名为 col1、col2 和 col3。最后,我们提交了事务并关闭了连接。

    需要注意的是,在实际使用中,可能需要根据具体情况进行一些修改,比如修改列名、矩阵数据等。此外,还需要确保数据库连接信息正确,包括数据库名称、用户名、密码、服务器名称等。
    如果对您有帮助,请给与采纳,谢谢。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(10条)

报告相同问题?

问题事件

  • 系统已结题 3月9日
  • 已采纳回答 3月1日
  • 创建了问题 2月22日

悬赏问题

  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥170 如图所示配置eNSP
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果