这个位子要转一下我记得。这样访问oracle配置远程访问库回报错的 。

Excel中用VBA链接Oracle实现位置随意标题 - 办公软件 - 次元立方网 - 电脑知识与技术互动交流平台
Excel中用VBA链接Oracle实现位置随意标题
我用的是Oracle 11g + Microsoft Office 2010 旗舰版
首先要添加引用类库:
& Microsoft ActiveX Data Objects Recordset 6.0(或者2.8)Library
& Microsoft Activex Data Objects 6.1(或者2.8) Library
链接Oracle的字符串有三种,而我试验了几次两种,一种是odbc,另一种是ado方式
这两种链接方式如下:
&DSN=UID=PWD=DBQ=ORCL;DBA=W;APA=T;EXC=F;
FEN=T;O=T;FRC=10;FDL=10;LOB=T;RST=T;BTD=F;BNF=F;BAM=IfAllS
NUM=NLS;DPM=F;MTS=T;MDI=F;CSR=F;FWC=F;FBS=64000;TLO=O;MLD=0;ODA=F;&
&Provider = OraOLEDB.OPersist Security Info=User ID =Pass =Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.178.168)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=Orcl)))&
其中odbc只能实现链接本机数据库,不能远程,而ado方式可以实现远程连接,只需把host后面的ip改成目标地址即可。
做了一个活动标题的excel vba例子,所谓活动标题,是位置比较随意,可以互换位置,但中间不能有空的单元格,如果表头中有&序列&的话,可以自动编号。下面就贴上代码
Option Explicit
Public Const DATA_START_ROW As Byte = 4 '数据起始位置
Public fieldsCount As Integer
Public fieldsZH() As String '中文名称 表头
Public fieldsEN() As String '英文名称,数据库字段
Public fieldsType() As String '字段类型
'初始化字段值
Sub initFields()
Dim i As Integer
ThisWorkbook.Sheets(1).Activate
With Range(&A1&).CurrentRegion
fieldsCount = .Rows.Count
ReDim fieldsZH(fieldsCount - 1)
ReDim fieldsEN(fieldsCount - 1)
ReDim fieldsType(fieldsCount - 1)
For i = 0 To fieldsCount - 1
fieldsZH(i) = Cells(i + 1, 1)
fieldsEN(i) = Cells(i + 1, 2)
fieldsType(i) = Cells(i + 1, 3)
Option Explicit
'定义链接属性
Dim conn As ADODB.Connection '##################################################
Dim rs As ADODB.Recordset '#######################################
Dim OraID As String
Dim OraUsr As String
Dim oraPwd As String
Dim serIP As String
Dim sqlStr As String
'初始化链接属性
Sub InitConnect()
On Error GoTo ConnectingError
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
OraID = &orcl&
'Oracle数据库的相关配置
OraUsr = &scott&
'用户名
oraPwd = &tiger&
'登录密码
serIP = &127.0.0.1&
'数据库ip地址和数据困服务器名
conn.ConnectionString = &Provider = OraOLEDB.Oracle.1;& & _
&Pass=& & oraPwd & &;User ID=& & OraUsr & _
&;Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)& & _
&(HOST=& & serIP & &)(PORT=1521))& & _
&(CONNECT_DATA=(SERVICE_NAME=& & OraID & &)))&
'MsgBox conn.ConnectionString
rs.ActiveConnection = conn
ConnectingError:
MsgBox &无法连接数据库,请检查数据库服务配置&
'从Excel同步到Oracle
Sub ExcelToOracle()
'关闭连接
Sub CloseConnect()
On Error Resume Next
If Not IsEmpty(rs) Then
If Not IsEmpty(conn) Then
conn.Close
'从Oracle同步到Excel
Sub OracleToExcel()
InitConnect '初始化链接
initFields
'初始化字段
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim TitleSeq() As Integer '存储表头对应的数据库字段所在位置
Dim flag As Boolean '循环跳出标识
Dim idSeq As Integer ' 表头中&序列&的下标
ThisWorkbook.Sheets(2).Activate
sqlStr = &select * from empinfo where newdata=1&
rs.Open Source:=sqlStr, LockType:=adLockBatchOptimistic
ReDim TitleSeq(rs.Fields.Count - 1)
For i = 0 To rs.Fields.Count - 1
excelTitleSeq(i) = -1
'----------------------新算法, 序列位置随意
For i = 0 To Cells(DATA_START_ROW - 1, 1).CurrentRegion.Columns.Count - 1 '循环匹配表头
If Cells(1, DATA_START_ROW - 1).Value = &序列& Then
idSeq = i + 1
flag = False
For j = 0 To fieldsCount - 1 '依次找到对应的数据库字段的下标
If Trim(Cells(DATA_START_ROW - 1, i + 1)) = Trim(fieldsZH(j)) Then
For k = 0 To rs.Fields.Count - 1 '从数据库字段中查找这个对应值
If UCase(Trim(fieldsEN(j))) = UCase(Trim(rs.Fields(k).Name)) Then
excelTitleSeq(i) = k
flag = True
If flag Then
'给表格赋值
i = DATA_START_ROW
Do Until rs.EOF
For j = 0 To rs.Fields.Count - 1
If idSeq && 0 Then '判断是否有&序列&
Cells(i, idSeq).Value = i - DATA_START_ROW + 1
If excelTitleSeq(j) && -1 Then
Cells(i, j + 1).Value = rs.Fields(excelTitleSeq(j)).Value
rs.MoveNext
CloseConnect
--人员基本信息表
create table empinfo(
email varchar2(50), --邮箱
eno varchar2(12) unique, --人员编号
ename varchar2(20) not null, --人员姓名 www.it165.net
eid varchar2(20) unique, --身份证号码
cardno varchar2(6) unique, --卡号
status varchar2(20), --状态
org varchar2(50), --人员组织
egroup varchar2(50), --组别 由group改-
groupno varchar2(10), --组号 由组别截取第一位
formation varchar2(25), --编制
sex varchar2(10), --性别
birthday varchar2(20), --出生日期
address varchar2(100), --家庭住址
drivetime varchar2(20), --车程
graduate varchar2(50), --毕业院校
major varchar2(50), --专业
job varchar2(50), --职务
elevel varchar2(20), --等级 由level改
eresume varchar2(10), --简历 是否有 由resume改
erole varchar2(50), --角色 由role改
tutor varchar2(20), --导师
phone varchar2(20), --电话
tel varchar2(20), --座机
education varchar2(20), --学历
leveltime varchar2(20), --等级时间
graduateyear varchar2(10), --毕业年份
interntime varchar2(20), --见习时间
comtime varchar2(20), --入司时间
deptime varchar2(20), --入部门时间
depyear varchar2(10), --入部门年度
beforeinfo varchar2(500), --入部门前情况
leavetime varchar2(20), --离职时间
workinfo varchar2(500), --工作经历
projectexpr varchar2(500), --卫生政务项目经历
tecinfo varchar2(50), --技术认证
certificate varchar2(10), --证书
marriage varchar2(10), --婚姻 已婚 未婚 离异
childyear varchar2(10), --小孩年份
im1 varchar2(20), --及时通讯工具1
im2 varchar2(20), --及时通讯工具2
linkman varchar2(20), --紧急联系人
linkmanphone varchar2(20), --紧急联系人电话
tecdirection varchar2(50), --推荐技术方向
homephone varchar2(20), --家庭电话
comments varchar2(500), --备注
newdata varchar2(1)
--最新数据标识
附件中,只实现了从Oracle导出到excel,另一个按钮功能没有实现
延伸阅读:
WPS怎么设置页码?平常写论文或者办公的时候会遇到用...
本教程为 李华明 编著的iOS-Cocos2d游戏开发系列教程:教程涵盖关于i......
专题主要学习DirectX的初级编程入门学习,对Directx11的入门及初学者有......
&面向对象的JavaScript&这一说法多少有些冗余,因为JavaScript 语言本......
Windows7系统专题 无论是升级操作系统、资料备份、加强资料的安全及管......Oracle12c 安装出现错误&请确保当前用户具有访问临时位置所需的权限&,无法继续安装-案图籍
  控制面板&所有控制面板项&管理工具&服务&SERVER 启动&
  控制面板&所有控制面板项&管理工具&计算机管理&系统工具&共享文件夹&共享&
  右键单击“共享”&新建共享&&
  点击“下一步”&&
  单击“浏览”&&
  选择&本地磁盘(C:)&&确定&
  “共享名”输入 &C$& &&下一步& ,OK!&
  其中共享中权限设置为:管理员有完成访问权限,其他用户有只读访问权限(R)&
  测试一下 c$ share 是否成功. 方法是在cmd里打net use \\localhost\c$ 失败会是这样子...: 系统错误53&
The network path was not found. 成功是这样子: 命令成功完成。&
  如果第二步失败, 检查&服务&里的&TCP/IP NetBIOS Helper&服务是否已开启, 没有的话启动它即可.。
  否则再试试
  第一步:检查AutoShareServer和AutoShareWks注册表值,以确保未将它们设置为0。依次点击“开始→运行”,输入regedit,然后按回车键进入注册表编辑器。&
  第二步:找到并单击HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanmanServer\Parameters。
  第三步:如果LanmanServer\Parameters子项中的AutoShareServer 和AutoShareWks,DWORD值配置的数值为0,则将该值更改为1。2017年全国硕士研究生招生考试初试时间为:日至12月25日;网上报名时间:日至10月31日,每天9:00-22:00;网上预报名时间:日至9月27日,每天9:00-22:00;现
最近更新推荐资讯考试报名成绩查询热门信息
[] (09-20)
[] (09-19)
[] (09-19)
[] (09-19)
[] (09-19)
[] (09-19)
[] (09-19)
[] (09-19)
[] (09-19)
[] (09-19)
[] (09-19)
9月10-12日
9月24、25日
9月15日至9月25日
9月18日至9月30日
9月18日至9月30日
9月18日至9月30日
9月19日至9月22日
9月19日至9月22日
9月14日至10月13日
9月19日至9月23日
广告正在载入中...
Qualification
Accountant
Engineering
各地人事考试网
各地招生考试网> 重启系统的时候自动启动oracle服务
重启系统的时候自动启动oracle服务中国it实验室
&&& 这时你需要添加另外的初始化脚本,以使在oracle在你重启系统的时候启动,但是首先,你需要删除安装程序所创建的一些链接:# rm /etc/rc2.d/[SK]96*# rm /etc/rc3.d/[SK]96*# rm /etc/rc5.d/[SK]96*# update-rc.d init.cssd defaults 96
&&&& 下面的初始化脚本是我根据这一个脚 本定制的。这个脚本启动/停止oracle的实例,监听器和企业管理工具的web界面。你需要自行设置ORACLE_HOME, ORACLE_SID, and ORA_OWNR等环境变量。 我把这个脚本命名为/etc/init.d/oracledb,当然,你可以给它取任何名字。 #!/bin/bash## /etc/init.d/oracledb## Run-level Startup script for the Oracle Instance, Listener, and # Web Interfaceexport ORACLE_HOME=/your/oracle/home/goes/hereexport ORACLE_SID=oraclesidgoeshereexport PATH=\$PATH:\$ORACLE_HOME/binORA_OWNR="oracleownergoeshere"# if the executables do not exist -- display errorif [&! -f \$ORACLE_HOME/bin/dbstart -o&! -d \$ORACLE_HOME ]thenecho "Oracle startup: cannot start"exit 1fi# depending on parameter -- startup, shutdown, restart# of the instance and listener or usage displaycase "\$1" instart)# Oracle listener and instance startupecho -n "Starting Oracle: "su \$ORA_OWNR -c "\$ORACLE_HOME/bin/lsnrctl start"su \$ORA_OWNR -c \$ORACLE_HOME/bin/dbstarttouch /var/lock/oraclesu \$ORA_OWNR -c \$ORACLE_HOME/bin/emctl start dbconsoleecho "OK";;stop)# Oracle listener and instance shutdownecho -n "Shutdown Oracle: "su \$ORA_OWNR -c "\$ORACLE_HOME/bin/lsnrctl stop"su \$ORA_OWNR -c \$ORACLE_HOME/bin/dbshutrm -f /var/lock/oraclesu \$ORA_OWNR -c \$ORACLE_HOME/bin/emctl stop dbconsoleecho "OK";;reload|restart)\$0 stop\$0 start;;****)echo "Usage: `basename \$0` start|stop|restart|reload"exit 1esacexit 0
创建好脚本後,给他添加执行权限,并在各个运行级里创建链接: # chmod 755 /etc/init.d/oracledb# update-rc.d oracledb defaults 99
在启动我们新的数据库之前,我们需要做一些用户化的设置:
/usr/local/bin/dbhome 需要改变 ORAHOME, ORASID, 和 ORATAB (/etc/oratab) 这几个环境变量。
/your/oracle/home/bin/dbhome 同上
/your/oracle/home/bin/dbshut 同上
/your/oracle/home/dbstart 需要改变ORATAB这个环境变量。
要使你所创建的所有的数据库在开机是启动,你需要相应的修改 /etc/oratab。
例如把 oracle:/opt/oracle:Y
替换为: dbname:/opt/oracle/:N
你需要设置如下环境变量:
ORACLE_HOME
ORACLE_SID
&&& 这有很多中方法,请自己找一个适合你自己的!一旦你重启机器或者重启数据库,你需要确认所有的东西都运行起来了,你可以通过sqlplus或者则web管理页面登陆来检查: :5500/em
  修改完成后,重新启动listener (先用lsnrctl stop, 然后 lsnrctl start), 然后,使用tnsping 来测试一下是否配置正确:
  tnsping extproc_connection_data 或者
  tnsping extproc_connection_data.world,如果配置正确,会显示:
  Attempting to contact (ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC)) OK(140毫秒)
  否则请检查你的上述两个文件,并注意,在修改后一定要重新启动listener,但并不需要重新启动数据库。
  3.设置词法分析器(lexer)
  Oracle实现全文检索,其机制其实很简单。即通过Oracle专利的词法分析器(lexer),将文章中所有的表意单元(Oracle 称为 term) 找出来,记录在一组 以 dr\$开头的表中,同时记下该term出现的位置、次数、hash 值等信息。检索时,Oracle 从这组表中查找相应的 term,并计算其出现频率,根据某个算法来计算每个文档的得分(score),即所谓的‘匹配率’。而lexer则是该机制的核心,它决定了全文检索的效率。Oracle 针对不同的语言提供了不同的 lexer, 而我们通常能用到其中的三个:
  basic_lexer: 针对英语。它能根据空格和标点来将英语单词从句子中分离,还能自动将一些出现频率过高已经失去检索意义的单词作为‘垃圾’处理,如if , is 等,具有较高的处理效率。但该lexer应用于汉语则有很多问题,由于它只认空格和标点,而汉语的一句话中通常不会有空格,因此,它会把整句话作为一个term,事实上失去检索能力。以‘中国人民站起来了’这句话为例,basic_lexer 分析的结果只有一个term ,就是‘中国人民站起来了’。此时若检索‘中国’,将检索不到内容。
  chinese_vgram_lexer: 专门的汉语分析器,支持所有汉字字符集。该分析器按字为单元来分析汉语句子。‘中国人民站起来了’这句话,会被它分析成如下几个term: ‘中’,‘中国’,‘国人’,‘人民’,‘民站’,‘站起’,起来‘,’来了‘,’了‘。可以看出,这种分析方法,实现算法很简单,并且能实现’一网打尽‘,但效率则是差强人意。
  chinese_lexer: 这是一个新的汉语分析器,只支持utf8字符集。上面已经看到,chinese vgram lexer这个分析器由于不认识常用的汉语词汇,因此分析的单元非常机械,像上面的‘民站’,‘站起’在汉语中根本不会单独出现,因此这种term是没有意义的,反而影响效率。chinese_lexer的最大改进就是该分析器 能认识大部分常用汉语词汇,因此能更有效率地分析句子,像以上两个愚蠢的单元将不会再出现,极大 提高了效率。但是它只支持 utf8, 如果你的数据库是zhs16gbk字符集,则只能使用笨笨的那个Chinese vgram lexer.
  如果不做任何设置,Oracle 缺省使用basic_lexer这个分析器。要指定使用哪一个lexer, 可以这样操作:
  第一。在ctxsys用户下建立一个preference:
  begin ctx_ddl.create_preference('my_lexer','chinese_vgram_lexer'); end;
  第二。在建立intermedia索引时,指明所用的lexer:
  create index myindex on mytable(mycolumn) indextype is ctxsys.context
  parameters('lexer my_lexer');
  这样建立的全文检索索引,就会使用chinese_vgram_lexer作为分析器。
  4.使用job定时同步和优化
  在intermedia索引建好后,如果表中的数据发生变化,比如增加或修改了记录,怎么办?由于对表所发生的任何dml语句,都不会自动修改索引,因此,必须定时同步(sync)和优化(optimize)索引,以正确反映数据的变化。
  在索引建好后,我们可以在该用户下查到Oracle自动产生了以下几个表:(假设索引名为myindex):
  DR\$myindex\$I,DR\$myindex\$K,DR\$myindex\$R,DR\$myindex\$N
  其中以I表最重要,可以查询一下该表,看看有什么内容:
  select token_text, token_count from DR\$I_RSK1\$I where rownum&=20;
  这里就不列出查询接过了。可以看到,该表中保存的其实就是Oracle 分析你的文档后,生成的term记录在这里,包括term出现的位置、次数、hash值等。当文档的内容改变后,可以想见这个I表的内容也应该相应改变,才能保证Oracle在做全文检索时正确检索到内容(因为所谓全文检索,其实核心就是查询这个表)。那么如何维护该表的内容呢?总不能每次数据改变都重新建立索引吧!这就用到sync 和 optimize了。
  同步(sync):将新的term 保存到I表;
  优化(optimize):清除I表的垃圾,主要是将已经被删除的term从I表删除。
  Oracle提供了一个所谓的ctx server来做这个同步和优化的工作,只需要在后台运行这个进程,它会监视数据的变化,及时进行同步。但笔者使用ctxserver碰到了许多问题,Oracle 北京的support也建议不使用,而是用以下的两个job来完成(该job要建在和表同一个用户下):
-- sync: VARIABLE BEGIN DBMS_JOB.SUBMIT(:jobno,'ctx_ddl.sync_index(''myindex'');', SYSDATE, 'SYSDATE + (1/24/4)'); END; -- optimizer VARIABLE BEGIN DBMS_JOB.SUBMIT(:jobno,'ctx_ddl.optimize_index(''myindex'',''FULL'');', SYSDATE, 'SYSDATE + 1'); END;
  其中, 第一个job的SYSDATE + (1/24/4)是指每隔15分钟同步一次,第二个job的SYSDATE + 1是每隔1天做一次全优化。具体的时间间隔,你可以根据自己的应用的需要而定。至此,你的全文检索功能已设置完成。
  二、常见错误
  下面就一些常见的错误信息给出解释和解决办法:
  1、sync 失败
  DRG-10595: ALTER INDEX T_DOC6_CT失败
  DRG-50857: oracle error in drsxsopen
  ORA-01480: STR 赋值变量缺少空后缀
  解决:这是8i的一个bug, 但可以避免它,方法是在同步之前先发一个语句:
  alter session set nls_language=American;
  2.create index 失败
  ORA-29855: 执行 ODCIINDEXCREATE 例行程序时出错
  ORA-20000: interMedia Text 错误:
  ORA-06512: 在"CTXSYS.DRUE", line 126
  ORA-06512: 在"CTXSYS.TEXTINDEXMETHODS", line 54
  ORA-06512: 在line 1
  解决:这是8.1.6.3之前的版本的一个bug, 在处理中文时,某个特殊字符造成的。向Oracle要补丁,或者自己去 下载(需要CSI 号码)。
  3.create index 失败
  RA-29855: 执行 ODCIINDEXCREATE 例行程序时出错
  ORA-20000: interMedia Text 错误:
  DRG-50704: Net8 监听器没有运行或无法启动外部过程
  ORA-28575: 无法打开与外部过程代理程序的 RPC 连接
  ORA-06512: 在"CTXSYS.DRUE", line 126
  ORA-06512: 在"CTXSYS.TEXTINDEXMETHODS", line 54
  ORA-06512: 在line 1
  解决:明显的extproc配置不当。仔细阅读本文基本设置的第二步。
  4.访问建有索引的表时失败
  ora-29861: 域索引标记为loading/failed/unusable
  解决:这是该表的一个intermedia索引有问题,该索引要么没有正确建立,要么是某次同步失败导致它状态异常。先查到是哪个索引:
  Select idx_name,idx_status from ctxsys.ctx_indexes;
  然后同步该索引或者强制删除它:
  重建:alter index myindex rebuild online parameters('sync');
  删除:drop index myindex force;
  5.使用chinese_lexer失败
  ERROR at row 1:
  ORA-29855: err on ODCIINDEXCREATE
  ORA-20000: interMedia Text err:
  DRG-10502: index 1386 is not existing.
  DRG-11102: the lexer cann't analyze as SIMPLIFIED CHINESE_CHINA.ZHS16GBK
  ORA-06512: 在"CTXSYS.DRUE", line 126
  ORA-06512: 在"CTXSYS.TEXTINDEXMETHODS", line 54
  ORA-06512: 在line 1
  解决:chinese_lexer 只支持utf8字符集。现在你面临抉择:忍受chinese vgram lexer的愚蠢,或者将数据库字符集改到 utf8, 但面对可能引起你的应用不能正确处理中文的风险(先咨询Oracle support, 并且与你的应用软件提供商联系)。
  6.升级或应用patch后失败
  ORA-29856: err when execute ODCIINDEXDROP
  ORA-20000: interMedia Texterr
  ORA-06508: PL/SQL: can not find program unit beingcalled
  ORA-06512: at "CTXSYS.DRUE", line 126
  ORA-06512: at"CTXSYS.TEXTINDEXMETHODS", line 229
  ORA-06512: at line 1
  解决:这是intermedia的某个object 没有正确产生或者编译。用ctxsys用户登录后,运行 \$oracle_home/ctx/admin/dr0pkh.sql 和 \$oracle_home/ctx/admin/dr0plb.sql 以重新产生所有的package.你也可以直接察看dba_objects视图,找出那些属于ctxsys用户并且status 为invalid的东西,重新产生或者重新编译。(你可能会发现有许多这种东西,不要惊讶,Oracle不会因此而崩溃)。
  7.create index 失败
  ERROR 位于第 1 行:
  ORA-29855: 执行 ODCIINDEXCREATE 例行程序时出错
  ORA-20000: interMedia Text 错误:
  DRG-50857: oracle error in driddl.IndexResume
  ORA-04030: 在尝试分配 524288 字节 (cursor work he,QERHJ Bit vector)时进程不足
  ORA-06512: 在"CTXSYS.DRUE", line 126
  ORA-06512: 在"CTXSYS.TEXTINDEXMETHODS", line 214
  ORA-06512: 在line 1
  解决:引起这个问题可以有多种原因,首先你可以将sort_area_size这个参数减小到不多于2M,这可以防止Oracle在创建索引时分配太多的sort 内存而耗尽资源。 但如果这不起作用,而且你是8.1.7, 则恭喜,你hit 了bug 1391737. 该bug 在你要建索引的字段,如果某条记录的长度超过2000字符时引起Oracle耗尽内存资源。别无它法,除了打 8.1.7.1B 的补丁。
&相关阅读:
·苹果不只是消费电子公司 还是企业IT公司
&&·深度操作系统15RC发布 你要转投Linux吗?
&&·在中国为中国:戴尔PowerEdge FX一年啦
&&·当你在“调戏”小冰时 你在调戏什么?
&&·数说自动化:戴尔“未来就绪”管理系统
给文章打分 5分为满分(共0人参与)
频道热词:&&&&&&
精彩内容推荐
服务器知识学堂热点
排行 文章标题
TOP10周热门服务器排行榜
商家报价:
商家报价:
商家报价:
15用户点评
商家报价:
商家报价:
商家报价:
商家报价:
商家报价:
商家报价:
商家报价:
19用户点评
商家报价:¥15581-¥26970
上市时间: 2016年04月
产品数: 4
商家报价:¥12900-¥21500
上市时间: 2015年01月
产品数: 2
商家报价:¥187000
上市时间: 2015年07月
产品数: 2
上市时间: 2014年01月
产品数: 2
商家报价:¥349999
上市时间: 2015年12月
产品数: 5
上市时间: 2009年06月
产品数: 6
上市时间: 2016年03月
产品数: 3
商家报价:¥8200-¥11500
上市时间: 2014年06月
产品数: 3
商家报价:¥5499-¥8590
上市时间: 2013年12月
产品数: 3
企业人物访谈

我要回帖

更多关于 oracle允许远程访问 的文章

 

随机推荐