Matlab关于ODBC数据源配置
(2014-04-13 16:16:09)
标签:
数据库数据源odbc |
分类: Matlab编程 |
function
f=LinkDB(DB_path,DB_sourcename,Index)
%本函数是用来自动配置数据库源文件。该函数仅适用于配置Access数据源。
%调用格式
%linkDB(DB_path,DB_sourcename,1)
DB_sourcename='godman'
DB_path='D:\Program
Files\MATLAB71\work\demo.mdb'
%函数运行后将产生文件regedit_DB.reg
%Index=1时要删除regedit_DB.reg,Index=0时不删除regedit_DB.reg
%Godman
2009.4.3 tntuyh@163.com
TempStr1=StrSpliteToCell(DB_path,'\');
TempStr2=CellStrJoinWithSeparator(TempStr1,'\\\\');
DB_path=TempStr2.ans;
�d
sourcename
fid=fopen('regedit_DB.reg','wt');
String='Windows Registry
Editor Version 5.00\n\n';
fprintf(fid,String);
String='[HKEY_CURRENT_USER\\Software\\ODBC\\ODBC.INI\\ODBC
Data Sources]\n';
fprintf(fid,String);
String=strcat(['"'
DB_sourcename '"'],'="Microsoft Access Driver
(*.mdb)"\n\n');
fprintf(fid,String);
�d
filepath
String=['[HKEY_CURRENT_USER\\Software\\ODBC\\ODBC.INI\\',DB_sourcename,']\n'];
fprintf(fid,String);
String='"Driver"="C:\\\\WINDOWS\\\\system32\\\\odbcjt32.dll"\n';
fprintf(fid,String);
String=['"DBQ"="',DB_path,'"\n'];
fprintf(fid,String);
String='"DriverId"=dword:00000019\n';
fprintf(fid,String);
String='"FIL"="MS
Access;"\n';
fprintf(fid,String);
String='"SafeTransactions"=dword:00000000\n';
fprintf(fid,String);
String='"UID"=""\n\n';
fprintf(fid,String);
�d
jet
String=['[HKEY_CURRENT_USER\\Software\\ODBC\\ODBC.INI\\',DB_sourcename,'\\Engines]\n\n'];
fprintf(fid,String);
String=['[HKEY_CURRENT_USER\\Software\\ODBC\\ODBC.INI\\',DB_sourcename,'\\Engines\\Jet]\n'];
fprintf(fid,String);
String='"ImplicitCommitSync"=""\n';
fprintf(fid,String);
String='"MaxBufferSize"=dword:00000800\n';
fprintf(fid,String);
String='"PageTimeout"=dword:00000005\n';
fprintf(fid,String);
String='"Threads"=dword:00000003\n';
fprintf(fid,String);
String='"UserCommitSync"="Yes"\n';
fprintf(fid,String);
%
fclose(fid);
%打开regedit_DB.reg文件,将链接信息导入到注册表中
dos('regedit_DB.reg');
if
Index==1
end
function
f=StrSpliteToCell(Str1,Str2)
�taPath
='D:\Program Files\MATLAB71\work\data.txt'
%Str='\'
%StrSpliteToCell(DataPath,
Str)
%ans
=
% 'D:'
'Program Files'
'MATLAB71'
'work'
'data.txt'
Len1=length(Str1);
Len2=length(Str2);
Temp=strfind(Str1,Str2);
Temp=[1-Len2
Temp Len1+1];
CellLen=length(Temp)-1;
TempCell=cell(1,CellLen);
for
i=1:CellLen
end
f=TempCell;
function
f=CellStrJoinWithSeparator(Array,varargin)
%本函数是用来把元胞格式转换为字符串格式
%str={'Godman','come','back!'};
�llStrJoinWithSeparator(str,'
')
%ans
=
%
Message: ''
%
ErrNum: 0
%
ans: 'Godman come back!'
f.Message='';
f.ErrNum=0;
f.ans='';
if
isempty(varargin)
else
end
if
isempty(Array)
elseif
~iscellstr(Array)
elseif
~ischar(Str)
end
if
isempty(Str)
end
if
f.Message
end
len=length(Array);
temp=cell2mat(Array(1));
for
i=2:len
end
f.ErrNum=0;
f.ans=temp;

加载中…