<font color=red>如何在ODBC中添加自己定义的数据源?</font>(100分)

  • 主题发起人 主题发起人 zzz
  • 开始时间 开始时间
好象有个 ODBC。INI(或类似的文件,文本格式,可以自行修改)
 
windows 95/98 中的控制面板中ODBC中添加系统定义资源即可。
注意选用的ODBC驱动程序存在。
 
我写了一个控制ODBC的单元,要吗?
 
<a href=/delphi/attachments/odbc.zip>ODBC接口单元</a> (李颖 制作)
 
修改注册器最灵
 
在控制面板好象就可以添加拉。有个ODBC的呀,你试一试拉。
 
ZZZ,你如果得到了正确答案,请结束问题 //李颖那东东满灵的
否则,贴出您的注释
谢谢您的合作

规则允许问题保留两走,虽未到,不过快了
 
查看注册表,所有的ODBC 的配置都在那里

改写注册表 用Register类去改是很easy的
注册表位置
Hkey_Current_User/Softerware/ODBC
Hkey_local_machine/software/ODBC
 
到http://shrw.chn.net找一个ODBC管理控件。
 
直接使用控制面板中的ODBC器就可以了,你还想干什么?
 
答案应该有了,请结束问题
 
创建一完整数据源如下所示,用Install Shield5.0开发

szKey = "SOFTWARE//ODBC//ODBCINST.INI//ODBC Drivers";
szClass = "";

if (RegDBKeyExist ( szKey ) < 0) then
if (RegDBCreateKeyEx ( szKey , szClass ) < 0) then
MessageBox("驱动器创建失败", WARNING);
return 0;
endif;
endif;

if (RegDBSetKeyValueEx ( szKey , "MySQLAnyWhere" , REGDB_STRING , "Installed" , -1 ) < 0) then
MessageBox("驱动器创建失败", WARNING);
return 0;
endif;

szKey = "SoftWare//ODBC//ODBCINST.INI//MySQLAnyWhere";
// RegDBSetDefaultRoot ( nRootKey );
if (RegDBKeyExist ( szKey ) < 0) then
if (RegDBCreateKeyEx ( szKey , szClass ) < 0) then
MessageBox("驱动器创建失败", WARNING);
return 0;
endif;
endif;

RegDBSetKeyValueEx ( szKey , "Setup" , REGDB_STRING , WINSYSDIR ^ "//WOD50T.DLL" , -1 );
RegDBSetKeyValueEx ( szKey , "Driver" , REGDB_STRING , WINSYSDIR ^ "//WOD50T.DLL" , -1 );

nRootKey = HKEY_CURRENT_USER;
szKey = "SoftWare//ODBC//ODBC.INI//powerm";
szClass = "";

RegDBSetDefaultRoot ( nRootKey );
if (RegDBKeyExist ( szKey ) < 0 ) then
RegDBCreateKeyEx ( szKey , szClass );
endif;

RegDBSetKeyValueEx ( szKey , "AutoStop" , REGDB_STRING , "yes" , -1 );
RegDBSetKeyValueEx ( szKey , "DataBaseName" , REGDB_STRING , "Powerm" , -1 );
RegDBSetKeyValueEx ( szKey , "Driver" , REGDB_STRING , WINSYSDIR ^ "//WOD50T.DLL" , -1 );
RegDBSetKeyValueEx ( szKey , "PWD" , REGDB_STRING , "sql" , -1 );
RegDBSetKeyValueEx ( szKey , "UID" , REGDB_STRING , "dba" , -1 );
RegDBSetKeyValueEx ( szKey , "start" , REGDB_STRING , "dbeng50" , -1 );

szKey = "SoftWare//ODBC//ODBC.INI//ODBC Data Sources";
szClass = "";

if (RegDBKeyExist ( szKey ) < 0 ) then
RegDBCreateKeyEx ( szKey , szClass );
endif;
RegDBSetKeyValueEx ( szKey , "powerm" , REGDB_STRING , "MySQLAnyWhere" , -1 );
 
多人接受答案了。
 
后退
顶部