需求:一种开源的MATLAB数据库工具箱替代品。
背景:我在工作场所使用MATLAB,但不幸的是它没有Mathwork的数据库工具箱许可。
研究成果:虽然我是新手,但我在互联网上搜索了很多,我发现对我有用的是DBtool箱的演示版本Dbtool(http://energy.51.net/dbtool/index.htm)。然而,DB工具箱的演示版本仅适用于小型数据库。但每当我在大型数据库上使用它时,就会出现“超时错误”。
谢谢你的帮助。 尼克尔
需求:一种开源的MATLAB数据库工具箱替代品。
背景:我在工作场所使用MATLAB,但不幸的是它没有Mathwork的数据库工具箱许可。
研究成果:虽然我是新手,但我在互联网上搜索了很多,我发现对我有用的是DBtool箱的演示版本Dbtool(http://energy.51.net/dbtool/index.htm)。然而,DB工具箱的演示版本仅适用于小型数据库。但每当我在大型数据库上使用它时,就会出现“超时错误”。
谢谢你的帮助。 尼克尔
我在如何从Matlab连接到Microsoft SQL Server 2008 (MSSQL)?找到了答案。
然而,并不是每种方法都适用于我。让我再解释一下:
JDBC驱动通常效果最好。但你必须知道哪个JDBC驱动与你的项目相匹配。对于MS SQL,sqljdbc4.jar非常适合。如果你要连接MySQL或PostgreSQL,请确保通过谷歌找到正确的驱动程序(mysql-connector.jar适用于MySQL,postgresql.jdbc4.jar或postgreSQL适用于PostgreSQL)。
我还尝试过COM方法,只有通过ODBC才成功。查找正确的连接字符串真的很麻烦。你还需要安装与你的项目相关的适当ODBC驱动程序。设置ODBC连接实际上很容易。一旦你设置了DSN,你只需使用连接字符串即可:
connectStr = 'DSN=newDSN';
invoke(conn,'Open',connectStr);
最后,如果您决定使用数据库工具箱(也许在您的情况下不需要),请不要期望过高。该工具箱只是上述方法的包装器。您完全可以在不使用它的情况下完成项目。
已经提出了一些替代方案:
ZozaniDB是一个数据库工具箱,可连接到Sqlite和Mysql数据库(如果您有JDBC连接器,则可能还可以连接其他数据库)。 ZozaniDB不仅提供数据库连接;它还提供即时模式生成,并允许您在不使用SQL的情况下获取/插入数据。(免责声明:我是ZozaniDB的开发人员)。
如果您正在寻找连接到SQLITE的方法,则Mksqlite可以胜任。
还有一个需要编译的Mysql mex文件:http://www.mathworks.com/matlabcentral/fileexchange/8663-mysql-database-connector