動態建立資料來源問題

2021-09-08 06:35:52 字數 2022 閱讀 7623

動態建立資料來源問題 delphi / windows sdk/api

下面**是動態建立odbc資料來源**,請問要把下面**加在那個地方才不會出錯,  

我加在工程檔案裡也出錯,加在單元檔案裡也出錯,  

function   getwinsyspath:string;  

var  

buf:array[0..255]of   char;  

begin  

getsystemdirectory(buf,sizeof(buf));  

result:=strpas(buf);  

if(result<>'')and(result[length(result)]<>'\')   then  

result:=result+'\';  

end;  

function   createmdbodbc(aodbcname,amdbname:string):boolean;  

var  

thereg:tregistry;  

begin  

thereg:=tregistry.create;  

with   thereg   do  

begin  

rootkey:=hkey_current_user;  

if   openkey('software\odbc\odbc.ini\odbc   data   sources',true)   then  

writestring(aodbcname,'microsoft   access   driver(*.mdb)')  

else  

begin  

closekey;  

free;  

result:=false;  

exit;  

end;  

closekey;  

if   openkey('software\odbc\odbc.ini\'+aodbcname,true)   then  

begin  

writestring('dbq',amdbname);  

writestring('driver',getwinsyspath+'odbcjt32.dll');  

writestring('driverid',25);  

writestring('fil','ms   access');  

writestring('safetransactions',0);  

writestring('uid','');  

end   else   begin  

closekey;  

free;  

result:=false;  

exit;  

end;  

closekey;  

if   openkey('software\odbc\odbc.ini\'+aodbcname+'\engines\jet',true)   then  

begin  

writestring('implicitcommitsyne','');  

writestring('maxbuffersize',2048);  

writestring('pagetimeout',5);  

writestring('threads',3);  

writestring('usercommitsync','yes');  

end   else   begin  

closekey;  

free;  

result:=false;  

exit;  

end;  

closekey;  

free;  

result:=true;  

end;  

end;  

報什麼錯?看看是否少引用registry單元之類...

JBOSS動態建立資料來源

前段時間讓研究如何動態建立資料來源,關於這個我們討論出有兩種方案,一種是將資料來源放到persistence.xml檔案中,然後在persistence.xml中動態新增節點,中根據不同的unitname建立不同的entitymanager。一種是資料來源放到jboss裡,通過jboss的api動態...

動態建立ODBC ACCESS資料來源

unit linkdbaccess inte ce uses windows,messages,sysutils,variants,classes,graphics,controls,forms,dialogs,stdctrls,registry,extctrls type tlinkdb info...

c 動態建立ODBC資料來源

使用c 有兩種方法可以動態的建立odbc資料來源,這裡我用比較常用的sql2000作為例子。方法1 直接操作登錄檔,需要引用microsoft.win32命名空間 建立sql資料來源 資料來源名稱 伺服器 資料庫 private bool createsqlodbc string dsn,strin...