小妹请教大侠们两个问题,先鞠躬了:) 1、Oracle跨平台,可以在Unix上跑, SQLSERVER不行。大型系统的关键应用,Unix比较成熟,所以用Oracle。2、DOA是直接调用OCI.dll来实现对oracle的访问,oci是Oracle Call Interface,一个动态连接库,DOA封装了这个DLL 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 asdf008(棒棒糖) ,如你所说,是不是DOA的访问技术和BDE还有ADO,一点关系都没有了?能再详细解释一下么?我用了DOA,是不是还是可以跨平台访问? 看本论坛的精华帖子:《Oracle能,SQL server不能》不用自称是女生,也会有人帮你的 我用了DOA,是不是还是可以跨平台访问?什么意思,没有看明白!--------------------------------------所谓跨平台,是指oracle server的跨平台,与客户端没有什么关系。你的客户端既然是用delphi写的,那么肯定是运行在windows上了。而oracle server运行在什么平台都是可以的,与你的客户端没有任何关系。不管是DOA,还是直接用oci,都需要net client的支持,负责最终通信是由oracle的网络层来实现的。oci比bde对oracle的客户端的访问也仅仅是少了一个应用程序调用层,其它的没有什么区别。 penitent(只取一瓢)说的对,用DOA或者直接掉OCI的好处是发布时不必要求一定在客户段装Oracle Client,跨平台是Oracle的事,和DOA没有关系。 sun9989(一品黄山)你实在是有趣,ake1980 (阿柯) 你对他有兴趣吗? 嘿嘿,我不是那种懒虫啊,大家告诉了我方向,我自己就去找了。看我下面这段阐述清楚不?DOA的全称是direct oracle access,是荷兰Allround Automations公司开发的访问Oracle的工具,运用DOA构件可以在Delphi或C++Builder开发环境下跳过BDE,而直接通过SQL Net访问Oracle。下面来看看它的访问模式和传统的BDE的区别 (一个图,显示不出来)可以看出,DOA并不需要像BDE和ODBC一样的中间件来负责和数据库的连接应用了DOA,上层的应用程序就可以直接访问OCL(ORACLE调用接口(Oracle Call Interface简称OCI)提供了一组可对ORACLE数据库进行存取的接口函数),而不需要其他的DLL(动态连接库)的程序。整个数据库的存取代码直接连接到上层的应用程序。这样就可以直接编写应用程序,而不必受到中间件的版本不同而造成的约束。使用DOA技术的好处是1. 在客户端不用按照oralce的客户端软件2. 不用安装和配置BDE以及ODBC3. 可以应用任何delphi的版本来开发客户/服务器程序4. 可以使用诸多的oracle 自带的特性5. 全面支持oralce的blob,clob和BFILE数据类型。6. 简化了的数据更新7. 快速的数据存取8. 支持delphi 下所有的数据控件等等。这都是我从国外的网站上翻译过来的 翻译的不错阿,以后我有英文资料你帮我翻译吧,哈哈. 看你顺眼你去http://expert.csdn.net/Expert/TopicView1.asp?id=1885899 随便回复一下我给你点分支持支持你, 可怜我发了那个贴子没人回答我,最后还是我自己搞定 asdf008(棒棒糖),偶就是穷追不舍,不这样做,怎么能进步?!“直接通过个exe访问oracle我也觉得不神奇,只要符合oracle客户端和服务器端的通信规范”,你都说了不用装oracle客户端了,怎么又说要符合客户端和服务器的通信规范?我拿了在Server上写好的.exe程序,放到局域网上的另一台机子上运行(没装Oracle的客户端)。就报错呀。传道授业解惑,问题要讲明白嘛。 1.在安装了Oracle客户端程序后,在Oracle安装目录下有如下目录和文件是连接Oracle数据库服务器所必需的:(最好保持目录层次关系结构)2.Oracle\BIN目录以及下面的27个DLL文件,并且保证应用程序可以找到该目录,即该目录为系统目录或者PATH目录。3.Oracle\OCOMMON\NLS\ADMIN目录以及其下所有文件4.Oracle\OCOMMON\NLS\MESG目录以及其下所有文件5.Oracle\NETWORK\ADMIN\tnsnames.ora6.Oracle\ORACORE\Mesg以及其下所有MSB文件 7.导入注册表到客户机:REGEDIT4[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE]"inst_loc"="C:\\Program Files\\Oracle\\Inventory""ORACLE_HOME"="D:\\oracle\\ora81""ORACLE_HOME_NAME"="OraHome81""API"="D:\\oracle\\ora81\\dbs""ORACLE_GROUP_NAME"="Oracle - OraHome81""NLS_LANG"="NA""OLEDB"="D:\\oracle\\ora81\\oledb\\mesg""VOBHOME2.0"="D:\\oracle\\ora81""OO4O"="D:\\oracle\\ora81\\oo4o\\mesg"[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\ALL_HOMES]"HOME_COUNTER"="1""DEFAULT_HOME"="OraHome81""LAST_HOME"="0"[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\ALL_HOMES\ID0]"NAME"="OraHome81""PATH"="D:\\oracle\\ora81""NLS_LANG"="NA"[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0]"ID"="0""ORACLE_GROUP_NAME"="Oracle - OraHome81""ORACLE_HOME_NAME"="OraHome81""ORACLE_HOME"="D:\\oracle\\ora81""NLS_LANG"="SIMPLIFIED CHINESE_CHINA.ZHS16GBK""ORACLE_SID"="QIAODB""ORACLE_HOME_KEY"="Software\\ORACLE\\HOME0""SQLPATH"="D:\\oracle\\ora81\\dbs""ORACLE_BASE"="D:\\oracle""MSHELP_TOOLS"="D:\\oracle\\ora81\\MSHELP""RDBMS_CONTROL"="D:\\oracle\\ora81\\DATABASE""RDBMS_ARCHIVE"="D:\\oracle\\ora81\\DATABASE\\ARCHIVE" 我faint,你自己做个exe在某台机器上跑,用它连到数据库服务器,这个exe就是客户端应用,就是CS的构架,这个有问题吗?谁规定了一定要Oracle Client才能算客户端?自己编的exe难道不算是客户端吗?你是不是不是计算机专业的?我们以前毕设的时候有个女的做了个类似于图论的毕设,下面老师没一个懂,结果得了优,你不要是和我一个学校的哦,哈哈,我也不是计算机专业的 我不是计算机专业的。问题在于我就是那么做的,可是跑不起来撒。我做的那个exe程序是在本机上用的。database连接的是本机上的oralce数据库。同样的程序,我在局域网里的另一台没有安装orale的机子上用,操作系统怎么就能知道连到我的机子上的oracle数据库呢? 拷贝了Oracle客户端的DLL操作系统自然就能知道连到你的机子上的oracle数据库 exe中的客户端访问组件中不是有设置服务器IP,Port,SID,UserName,Password的吗,通过这些不就能连接服务器了,你什么专业的? “exe中的客户端访问组件中不是有设置服务器IP,Port,SID,UserName,Password的吗”有么?赶紧去看看。自动控制 哈哈,真是有缘,你是超调看来有点大么,来个PID控制算了,我QQ 17326881,来聊聊阿 asdf008(棒棒糖) ,这种人!得了分还在这里说风凉话 问了这么多问题,还要说一大半工作是自己完成的,还想把分留给自己,还说不公平,好像是别人占了你便宜,有你这么无耻的人吗?!我得了你15分,我送了你20分,而且是你散分之前就给了,http://expert.csdn.net/Expert/TopicView1.asp?id=1885899我回答了你的问题,你什么都没做,让你得20分,你还强调我得了你的分,真是没有品位。 800万条数据去除重复数据有没有好的建议? oracle9i同一实例下但不同用户下相同结构的表(多张)之间进行数据复制 求教分组随机取某一条数据[大数据量] jpql语言 Oracle数据库 oracle9i,如何删除一个数据库实例? 请问pl/sql的问题 想通过互联网访问公司的数据库服务器,应该怎么建立服务名 请教两个问题 PL/SQL开发--类型转换问题 --如何实现这些功能? 见内 命名块执行异常问题! 我想创建以当前日期为后缀的表,例如temp_030614,我该怎么办。 在数据库中,不知为什么,出现了一个 " NO USE"这样的表,可怎样也无法drop,求助,急!~~~
不用自称是女生,也会有人帮你的
什么意思,没有看明白!
--------------------------------------
所谓跨平台,是指oracle server的跨平台,与客户端没有什么关系。
你的客户端既然是用delphi写的,那么肯定是运行在windows上了。
而oracle server运行在什么平台都是可以的,与你的客户端没有任何关系。不管是DOA,还是直接用oci,都需要net client的支持,负责最终通信是由oracle的网络层来实现的。oci比bde对oracle的客户端的访问也仅仅是少了一个应用程序调用层,其它的没有什么区别。
1. 在客户端不用按照oralce的客户端软件
2. 不用安装和配置BDE以及ODBC
3. 可以应用任何delphi的版本来开发客户/服务器程序
4. 可以使用诸多的oracle 自带的特性
5. 全面支持oralce的blob,clob和BFILE数据类型。
6. 简化了的数据更新
7. 快速的数据存取
8. 支持delphi 下所有的数据控件
等等。这都是我从国外的网站上翻译过来的
我拿了在Server上写好的.exe程序,放到局域网上的另一台机子上运行(没装Oracle的客户端)。就报错呀。传道授业解惑,问题要讲明白嘛。
2.Oracle\BIN目录以及下面的27个DLL文件,并且保证应用程序可以找到该目录,即该目录为系统目录或者PATH目录。
3.Oracle\OCOMMON\NLS\ADMIN目录以及其下所有文件
4.Oracle\OCOMMON\NLS\MESG目录以及其下所有文件
5.Oracle\NETWORK\ADMIN\tnsnames.ora
6.Oracle\ORACORE\Mesg以及其下所有MSB文件 7.导入注册表到客户机:
REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE]
"inst_loc"="C:\\Program Files\\Oracle\\Inventory"
"ORACLE_HOME"="D:\\oracle\\ora81"
"ORACLE_HOME_NAME"="OraHome81"
"API"="D:\\oracle\\ora81\\dbs"
"ORACLE_GROUP_NAME"="Oracle - OraHome81"
"NLS_LANG"="NA"
"OLEDB"="D:\\oracle\\ora81\\oledb\\mesg"
"VOBHOME2.0"="D:\\oracle\\ora81"
"OO4O"="D:\\oracle\\ora81\\oo4o\\mesg"[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\ALL_HOMES]
"HOME_COUNTER"="1"
"DEFAULT_HOME"="OraHome81"
"LAST_HOME"="0"[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\ALL_HOMES\ID0]
"NAME"="OraHome81"
"PATH"="D:\\oracle\\ora81"
"NLS_LANG"="NA"[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0]
"ID"="0"
"ORACLE_GROUP_NAME"="Oracle - OraHome81"
"ORACLE_HOME_NAME"="OraHome81"
"ORACLE_HOME"="D:\\oracle\\ora81"
"NLS_LANG"="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
"ORACLE_SID"="QIAODB"
"ORACLE_HOME_KEY"="Software\\ORACLE\\HOME0"
"SQLPATH"="D:\\oracle\\ora81\\dbs"
"ORACLE_BASE"="D:\\oracle"
"MSHELP_TOOLS"="D:\\oracle\\ora81\\MSHELP"
"RDBMS_CONTROL"="D:\\oracle\\ora81\\DATABASE"
"RDBMS_ARCHIVE"="D:\\oracle\\ora81\\DATABASE\\ARCHIVE"
我得了你15分,我送了你20分,而且是你散分之前就给了,http://expert.csdn.net/Expert/TopicView1.asp?id=1885899
我回答了你的问题,你什么都没做,让你得20分,你还强调我得了你的分,真是没有品位。