有谁知道如何将一维 Matlab 数组存储在 Microsoft SQL Server 表的单个字段中(以及如何检索它)?我希望能够存储不一定是固定大小的 Matlab 数据数组,并且我考虑将其存储为逗号分隔的字符串,但我希望有一个更优雅的解决方案。我的想法是它应该与存储和读取一个字节[]相同。但是,我已经尝试了几个小时,但无法在互联网上找到任何真正有用的东西。这是我用于存储数组的 Matlab 代码(使用 ADO):
buf = [1,2,3,4,5];
buf = int8(buf);
cmd = actxserver('ADODB.Command');
cmd.ActiveConnection = db.connection; % db.connection stores my connection
% Note that Matlab throws an error when setting the ActiveConnection. This
% command is still valid though and works, so the error should be ignored
cmd.CommandText = 'INSERT INTO dbo.TESTTABLE VALUES(?)'; % According to the MSDN
% website, this should be @val instead of ?, but for some reason that doesn't
% work and the ? does.
param = cmd.CreateParameter(@val',205,1,8000,buf);
cmd.Parameters.Append(param);
cmd.Execute();
可能这段代码是正确的,我只是不知道如何再读一遍。另外,我举了一个大小为 5 的数组作为示例,但我希望能够存储更大的数组。谢谢你的帮助,
麦迪