【问题标题】:MATLab - Database Handle is EmptyMATLab - 数据库句柄为空
【发布时间】:2014-07-13 16:32:08
【问题描述】:

我有以下问题。在工作中,我们有个人电脑运行 windows7 和 MATLab(包括数据库工具箱)、Oracle 等。我有一个我应该注意的新进程,它涉及一个连接到 oracle 数据库的 MATLab 脚本。除了我的以外,这些脚本在部门的任何计算机上都可以正常工作。遗憾的是,IT 告诉我每台 PC 的配置都相同,我必须为我的那台找到错误。

所以我通过检查连接结构 MATLab 在通过连接时创建的连接来开始“调试”

conn = database(instance,username,password)

看起来结构的内容和其他的都是一样的,只是句柄是空的:

val =
   Instance: '***'
   UserName: '*'
     Driver: []
        URL: []
Constructor: [1x1 com.mathworks.toolbox.database.databaseConnect]
    Message: [1x128 char]
     Handle: 0
    TimeOut: 0
 AutoCommit: 'off'
       Type: 'Database Object'

在所有其他系统上,句柄设置为:

sun.jdbc.odbc.JdbcOdbcConnection

所以我的问题是:我必须配置 MATLab 还是缺少 JDBC/ODBC 的驱动程序?我已经检查了系统偏好设置/管理/ODBC 源,但它似乎与其他任何地方都一样。

有人可能知道我如何追踪此问题的根源吗?非常感谢任何帮助或提示。

感谢和最好的问候 斯蒂芬

【问题讨论】:

  • 我遇到了我认为类似的问题,我不得不更新/下载 Sun 软件。

标签: database oracle matlab


【解决方案1】:

经过一番研究,这是一种可以弄清楚的方法。这其实很简单,但是我没有尝试明显的......

首先,如果

   connection = database(...) 

无法创建,请键入

connection.message

在 MATLab 控制台中。此消息将为您提供有关错误的其他反馈。在我的情况下,Oracle 数据库的 DNS 条目是空的。通过系统偏好添加它们后,它按预期工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-26
    • 1970-01-01
    • 2012-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多