C++ Builder数据库综合开发实践
一套原来在Access上开发的桌面系统,网页调阅使用ASP编程,数据维护系统使用C++Builder编程。由于Access是一个桌面的共享型数据库,所以在通用性和网络开发方面都存在一些问题。因此,需要将该系统移植到服务器型的数据库上。使系统既可以通过桌面软件维护数据,又可以有大量用户通过网页调看数据(结果)。 系统初始软件为:Windows98第二版、Access97、C++Builder4.0、C++Builder5.0、MDAC(Microsoft Data Access Component 2.6中文版)。 一、移植到Oracle的尝试 在机器上安装Oracle 7.3桌面版,由于使用不熟练,所以选择默认安装,除选择语言Simplified Chinese外,其他都选择默认,一路装下去,没有问题,重新启动系统。运行Net Easy Config,配置需要的数据库别名,然后用SQL Net连接试验,用户名输入system,密码输入manager,连接服务器注意,不要输入服务器的地址,而是输入刚才建立的别名,进去了。Ok! 此时开始测试ODBC,建立ODBC数据源。此时,ODBC中有两个有关Oracle的驱动,一个是Microsoft ODBC for Oracle,另一个是Oracle 7.3,这是该公司自己开发的驱动。可是怎么选择驱动程序都不行,不是提示Oracle的驱动没有安装,就是说某个DLL文件找不到。真是说不行,就不行,行也不行。 多次试验均无效。。。。 检查AUTOEXEC.BAT文件,其中有ORACLE的路径。那末,问题会在什么地方呢?本着怀疑一切的态度,在MSDOS方式下随手输入了一个PATH命令,奇怪,里面居然没有ORACLE的路径!打开AUTOEXEC.BAT文件一琢磨,路径是不是太长?把路径中的其他目录全都注释掉,重启系统,嘿!数据源可以建立了,而且两个驱动程序哪个都能够工作。原来由于系统中安装了C++Builder的两个版本,而该软件的目录又特别深,造成PATH环境变量的溢出,而在WINDOWS环境下启动时的提示我们看不到,所以没有发现这个问题。现在知道了,重新调整一下AUTOEXEC.BAT文件,保留一个C++Builder的路径。以后得记住安装C++Builder时最好自己指定一个目录,这样可以缩短路径。这可是说行就行,不行也行。 经过对Oracle的测试,发现将Access数据库直接移植到Oracle数据库中时,对文本字段(TEXT,MEMO)的迁移总有问题,且该系统使用、安装过于复杂,对机器配置的要求也太高,而该系统需要安装的用户较多,且使用者水平参差不齐,所以决定改用现在在自由软件界比较流行的免费数据库系统MySQL。 二、移植到MySQL的经历 1.该系统的安装比较简单,若认为自己没有能力安装该软件的话,还可以从网络上下载一个叫PHPTriad for windows的软件,该软件安装时没有任何选项,自动安装好MySQL。(实际上,该软件同时还安装好了APACHE服务器、PHP语言解释器,这正好符合将来把ASP的网页换到PHP上去;另外,该软件还同时安装配置好了一个网页数据库维护工具PHPMyAdmin,PHPMyAdmin对于SQL语言不算熟的人来说管理数据库极其方便。) 2.再安装MYODBC(即ODBC for MySQL,我的是2.5版本),注意下载该软件时,要分清95版还是NT版的。安装也很简单,一路OK。好了,建立数据源work,填好IP地址,数据库名填mymember(这时系统提供的数据库),进行测试,不行?改用系统自动安装的sample-mysql数据源连接,链上了。仔细检查配置,没有错误,为什么系统自己做的数据源可以用,我做的就不行呢?把自己建立的删掉,把sample-mysql改名为work,再连接,嘿嘿,不行了!哈哈,原来就出在名字上,在work后面加上-mysql,再连接,好了,原来myodbc要求它的数据源名称必须以mysql结尾!解决了数据源,下面开始移植原来的Access数据库。 移植工作比较简单,打开Access数据库,选中第一张表,从File菜单中选择“另存为/导出”,选择“另存为一个外部文件或数据库”,选 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |