oracle的数据类型怎么处理,A表的ST_GEOMETRY类型插入到B表的ST_GEOMETRY类型,怎么做?

二次元同好交流新大陆
扫码下载App
汇聚2000万达人的兴趣社区下载即送20张免费照片冲印
扫码下载App
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
如果没有的话[html]&以下提供我本机的对listener.ora和TNSName.ora文件的配置listener.ora:文件主要对相关St_shapelib.dll的引用,用户也可以将我所讲到的三个dll拷贝到ORACLE_HOME/bin文件夹里面,注意相关的权限,然后EXTPROC_DLLS=ANY,这种方法也可以的。# listener.ora Network Configuration File: C:\app\gisboss\product\11.2.0\dbhome_1\network\admin\listener.ora# Generated by Oracle configuration tools.SID_LIST_LISTENER =& (SID_LIST =& & (SID_DESC =& & & (SID_NAME = CLRExtProc)& & & (ORACLE_HOME = C:\app\gisboss\product\11.2.0\dbhome_1)& & & (PROGRAM = extproc)& & & (ENVS = "EXTPROC_DLLS=ONLY:C:\app\gisboss\product\11.2.0\dbhome_1\bin\oraclr11.dll,C:\Program Files\ArcGIS\ArcSDE\ora11gexe\bin\st_shapelib.dll,C:\Program Files\ArcGIS\ArcSDE\ora11gexe\bin\sg.dll,C:\Program Files\ArcGIS\ArcSDE\ora11gexe\bin\pe.dll")& & )& & (SID_DESC = && & & (GLOBAL_DBANAME = gisbossOrcl) && & & (ORACLE_HOME = C:\app\gisboss\product\11.2.0\dbhome_1) && & & (SID_NAME = gisbossOrcl) && & ) && )LISTENER =& (DESCRIPTION_LIST =& & (DESCRIPTION =& & & (ADDRESS = (PROTOCOL = TCP)(HOST = gisbossThkpad)(PORT = 1521))& & & (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))& & )& )ADR_BASE_LISTENER = C:\app\gisbossTNSName.ora文件来说就是两个文件都有KEY值,保证这两个文件的KEY值一致就可以了。# tnsnames.ora Network Configuration File: C:\app\gisboss\product\11.2.0\dbhome_1\network\admin\tnsnames.ora# Generated by Oracle configuration tools.ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)GISBOSSORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = gisbossThkpad)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = gisbossOrcl)
)相关参数参考[html]&8:测试是否正常[html]&以下是arcgis desktop 帮助文档中的解说:
配置 Oracle extproc 以使用 SQL 访问地理数据库ArcGIS 10.1
在 Oracle 中,ST_Geometry 和
ST_Raster 的 SQL 函数使用通过 Oracle 的外部过程代理(即 extproc)访问的共享库。要将 SQL 和 ST_Geometry 或
ST_Raster 配合使用或访问 GDB_ITEMS_VW 和 GDB_ITEMRELATIONSHIPS_VW 视图中的 ArcSDE XML
列,Oracle 必须能够访问这些库。因此,这些库必须存在于 Oracle 服务器上,并且必须通过 Oracle 的外部过程框架调用它们。
在 ArcGIS 中,不设置 Oracle 监听器也可以使用
ST_Geometry 和 ST_Raster。但是,您将不会拥有 ArcGIS 客户端的全部功能,也不会拥有 SQL 客户端的任何功能(如
SQL*Plus)。例如,如果未配置 Oracle 监听器,则无法对 ArcMap 的查询图层中的 ST_Geometry 列或包含 ST_Raster
列的版本化表使用 SQL 函数,无法删除包括 ST_Raster 列的行,也无法从 SQL 客户端执行 SQL 函数。另外,如果您不配置 Oracle
监听器,则无法将使用 ST_Geometry 类型作为要素服务的数据发布到空间数据服务器。
ST_Raster 安装为可选操作。有关说明,请参阅。
如果您的 Oracle 数据库安装在 Windows
服务器上,但您未安装 ArcSDE 应用程序服务器,则您可能需要安装 Microsoft Visual C++ 2008 SP1 Redistributable
Package (x64)。如果 Oracle 服务器上没有 Microsoft Visual C++ 2008 SP1 Redistributable
Package (x64),则可从 Microsoft 网站下载,然后进行安装。
如果您使用的是 Oracle 11g,请编辑
extproc.ora 文件以通过 Oracle 的外部过程框架来调用函数。如果您使用的是 Oracle 10g,请配置 Oracle 监听器。
Oracle 11g
对于 Oracle 11g,Oracle 建议您通过更改
extproc.ora 文件而不是配置监听器来配置 EXTPROC。extproc.ora 文件位于 ORACLE_HOME\hs\admin 目录中。
将 ST_Geometry (st_shapelib) 和/或
ST_Raster 库移动到您的 Oracle 服务器上之后,更改 extproc.ora 文件以指向库的位置。
在 Windows 服务器上,您可添加与以下类似的行:
EXTPROC_DLLS=ONLY:C:\\mylibraries\\st_shapelib.dll
EXTPROC_DLLS=ONLY:C:\\mylibraries\\libst_raster_ora.dll
如果您使用两个库,可将它们放在一行上:EXTPROC_DLLS=ONLY:C:\\mylibraries\\st_shapelib.C:\\mylibraries\\libst_raster_ora.dll
在这些示例中,库放置在名为 mylibraries
的文件夹中,此文件夹在 Oracle 服务器上创建以存储库。
在 Linux 或 UNIX 服务器上:
SET EXTPROC_DLLS=ONLY:/user/esrilibs/libst_shapelib.so
SET EXTPROC_DLLS=ONLY:/user/esrilibs/libst_raster_ora.so
如果您使用两个库,可将它们放在一行上:SET EXTPROC_DLLS=ONLY:/user/esrilibs/libst_shapelib.so:/user/esrilibs/libst_raster_ora.so
在这些示例中,库放置在用户的 esrilibs 目录中,此目录在
Oracle 服务器上创建以存储库。
Oracle 10g
监听器能够进行多种配置。例如,可能有多个监听器与数据库关联,而每个监听器又可管理多种类型的服务请求。这是一个很复杂的主题,本文档并未涵盖其中的很多种变化。参阅《Oracle
数据库网络服务管理员指南》了解有关配置监听器的详细信息是很重要的。
配置监听器的一个最重要方面是要告知 extproc
在哪里找到共享库。需要修改监听器配置以指定共享库的位置以及重新启动 Oracle 监听器进程,这样配置更改内容才能生效。
本文档涉及两个标准的 Oracle
监听器配置文件:tnsnames.ora 和 listener.ora。这两个文件通常位于
ORACLE_HOME/net/admin。本文档介绍所需的配置设置。
管理设置有多种方法。可用文本编辑器编辑文本文件,使用
Oracle Net Manager,或者使用 Oracle Net Configuration Assistant。Oracle
提供有关如何配置监听器的文档。有关详细信息,请参阅《Oracle 数据库网络服务管理员指南》。
tnsnames.ora
文件包含已知数据库服务的目录。此文件可在本地数据库或远程服务器上定义服务。有一个条目专供本地数据库服务器通过进程间通信 (IPC) 将函数调用发送到
extproc 使用。此条目标注为 EXTPROC_CONNECTION_DATA。可更改此条目下的 Key 和 SID 值。
这些项目用于将该条目链接至 listener.ora
文件中的对应信息。该键的名称可以为任何缩写名称,但它在 listener.ora 文件和 tnsnames.ora
文件中的名称必须一致。这些值区分大小写。仅监听器进程可使用这些值,用户或应用程序不可使用。
listener.ora
文件描述监听器针对请求所监听的某些(不一定是全部)服务。
此文件中可更改的值包括:
SID_LIST_LISTENER
此标注是名为 LISTENER(默认监听器名称)的监听器要处理的
SID 列表的开头。
SID_LIST 和 SID_DESC
标题 SID_LIST 下的 SID_DESC
条目用于定义服务。列表中的第一个条目处理 extproc 请求,第二个条目处理客户端会话。
其值必须与在文件 tnsnames.ora 中为 extproc
指定的 SID 对应。
ORACLE_HOME
定义此项服务的 Oracle 主页的位置。从此位置下的文件夹加载
extproc 程序文件。
指定 extproc
可执行文件的文件名。此区分大小写的名称可能是 extproc 或 extproc.exe,具体取决于操作系统的类型。文件位于
ORACLE_HOME/bin。
这是 extproc
在运行时所使用的环境变量的列表。列表用冒号分隔。此列表必须包括环境变量 EXTPROC_DLLS 以及 extproc
在运行时需要的任何其他环境变量的定义,其他环境变量通常包括 UNIX 和 Linux 系统中的 LD_LIBRARY_PATH、SHLIB_PATH 或
LIBPATH,或者 Windows 服务器上的 PATH。路径变量通常包括几何与投影引擎库的位置。
EXTPROC_DLLS
此环境变量用于定义 extproc
可直接从中加载和调用函数的库的列表。必须在此指定包含以下库的文件的路径:形状库,用于通过 SQL 来访问 ST_Geometry 类型或
GDB_ITEMS_VW 和 GDB_ITEMRELATIONSHIPS_VW 视图;st_raster 库,用于通过 SQL 来访问 ST_Raster
对于安装在 UNIX 上的 Oracle
服务器,列表用冒号分隔,对于安装在 Windows 上的 Oracle 服务器,列表用分号分隔。所有路径都必须是绝对路径并且指向本地目录,或者是 Oracle
系统用户可访问的 UNC 路径。这也意味着如果已将 ArcSDE 应用程序服务器安装在非 Oracle 服务器上,则必须将形状和栅格库从 SDEHOME 中的
bin 目录复制到 Oracle 服务器。
不存在环境变量替换。
可选关键字 ANY 和 ONLY 可用于放宽或限制
extproc 使用库文件的方式。如果将 ANY 放在路径前面,Oracle 可从指定路径加载任何库并且不必提供库名称。如果将 ONLY
放在路径前面,Oracle 将仅使用路径中提供的特定库。
为此条目设置的值将此监听器链接到文件 tnsnames.ora
中的对应服务条目。该值将此监听器与可能存在于同一数据库服务器的其他 IPC 监听器区分开来。key 可为任何名称缩写,但在文件 listener.ora 和
tnsnames.ora 中必须相同。key 区分大小写。
进行任何更改之前,要备份
tnsnames.ora 和 listener.ora 文件。
打开 Oracle 服务器上的
tnsnames.ora 文件。
在 tnsnames.ora 文件中更改
EXTPROC_CONNECTION_DATA 下的 Key 和 SID 值。
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(Key = EXTPROC1))
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
此条目必须始终有标注
EXTPROC_CONNECTION_DATA。此条目供数据库服务器通过进程间通信将函数调用发送到 extproc 使用。
打开 Oracle 服务器上的
listener.ora 文件。
更改所需的条目以设置监听器将接受其请求的服务器。
第一个示例用于同时安装有 ArcSDE 应用程序服务器和
Oracle 的 Windows 操作系统。LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = 1521))
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = C:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
(ENVS="EXTPROC_DLLS=C:\ArcSDE\sdeexe\bin\st_shapelib.c:\ArcSDE\sdeexe\bin\libst_raster_ora.dll")
此示例显示的条目用于安装有 ArcSDE 应用程序服务器和
Oracle 的 Linux 或 UNIX 服务器:LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = 1521))
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /servit/oracle/product/10.2.0/db_1)
(PROGRAM = extproc)
(ENVS="EXTPROC_DLLS=/servit/ArcSDE/sdeexe/lib/libst_shapelib.so:/servit/ArcSDE/sdeexe/lib/libst_raster_ora.so")
更改完 listener.ora
文件后,重新启动 Oracle 监听器。
阅读(2416)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
在LOFTER的更多文章
loftPermalink:'',
id:'fks_',
blogTitle:'配置 Oracle 11g侦听器来使用SQL操作ST_Geometry',
blogAbstract:'1:查看一下Oracle的监听状态,extporc(CLRextproc)的状态必须为静态(Unknow),如果是Ready状态就有可能出现问题,而且Oracle监听必须同时监听TCP和IPC',
blogTag:'arcgis,oracle',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:5,
publishTime:0,
permalink:'blog/static/',
commentCount:0,
mainCommentCount:0,
recommendCount:0,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'',
hmcon:'0',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}当前位置: →
→ 直接施用SQL操作Oracle空间数据的原理以及配置方法
直接施用SQL操作Oracle空间数据的原理以及配置方法
& 作者:佚名 & 来源: 互联网 & 热度:
&收藏到→_→:
摘要: 直接使用SQL操作Oracle空间数据的原理以及配置方法 最近一直接到售前的请求,客户现场成功部署SDE for Oracle后,在部署SQL
"直接施用SQL操作Oracle空间数据的原理以及配置方法"::
直接使用sql操作oracle空间数据的原理以及配置方法
最近一直接到售前的请求,客户现场成功部署sde for oracle后,在部署sql
ora-28595: extproc 代理: dll 路径无效ora-06512: 在 "sde.st_geometry_shapelib_pkg", line 70ora-06512: 在 "sde.st_geometry_operators", line 68view program sources of error stack?--------------------------listener.ora:sid_list_listener =
(sid_list =
(sid_desc =
(sid_name = plsextproc)
(oracle_home = f:\oracle\product\10.2.0\db_1)
(program = extproc)
(envs="extproc_dlls=e:\arcgis\arcsde\ora10gexe\bin\st_shapelib.dll" )---这个“e:\arcgis\arcsde\ora10gexe\bin\st_shapelib.dll”是可以在本机打开找到文件的
(sid_desc =
(global_dbname = webgis)
(oracle_home = f:\oracle\product\10.2.0\db_1)
(sid_name = webgis )
)listener =
(description_list =
(description =
(address = (protocol = tcp)(host = 10.238.185.71)(port = 1521))
(description =
(address = (protocol = ipc)(key = extproc0))
)--------------------tnsname.ora:extproc_connection_data =
(description =
(address_list =
(address = (protocol = ipc)(key = extproc0))
(connect_data =
(sid = plsextproc)
(presentation = ro)
(description =
(address = (protocol = tcp)(host = 10.238.185.71)(port = 1521))
(connect_data =
(server = dedicated)
(service_name = webgis)
)---------------c:\documents and settings\administrator&tnsping extproc_connection_data ---这里也是通的tns ping utility for 32-bit windows: version 10.2.0.4.0 - production on 07-9月 -:55copyright (c) 1997,
2007, oracle.
all rights reserved.已使用的参数文件:f:\oracle\product\10.2.0\db_1\network\admin\sqlnet.ora已使用 tnsnames 适配器来解析别名attempting to contact (description = (address_list = (address = (protocol = ipc)(key = extproc0))) (connect_data = (sid = plsextproc) (presentation = ro)))ok (0 毫秒)
直接操作空间数据的时候始终无法配置成功,现把sql访问空间数据的原理以及配置过程中经常碰到的问题详细的介绍一下。
从arcsde9.2 for oracle开始,提供了使用直接调用sql来操作空间数据的方法,但是得进行配置才能使用,而且空间数据的存储方式只能是st_geometry才支持直接sql。
由于这些空间操作的函数都是gis的核心算法,并且这些算法都是非常消耗cpu的算法,所以esri是以动态库而不是pl/sql(适用于批量数据处理)的方式提供的这部分函数,然后在oracle中使用c的external procedure对动态库进行调用。
调用的结构图如下所示:
调用过程如下:
1. 用户进程执行sql,在sqlplus执行select sde.st_astext(shape) from sde.test,在中调用的顺序是:
上述三个对象的定义如下
sde.astext:
create or replace package body "sde"."st_geometry_operators"
--st_astext
function st_astext_f(prim sde.st_geometry)
return clob
spref sde.spx_util.spatial_ref_record_t;
temp varchar2(1);
text_clob clob := empty_clob();
if prim is null then
if prim.numpts = 0 and prim.entity = 0 then
text_clob := 'empty';
return(text_clob);
spref.srid := prim.
rc := sde.st_spref_util.select_spref(spref);
if rc != sde.st_type_user.se_success then
raise_application_error (sde.st_type_util.st_no_srid,'srid '||spref.srid||
' does not exist in st_spatial_references table.');
text_clob := ' ';
sde.st_geometry_shapelib_pkg.astext(spref.srid,spref.x_offset,spref.y_offset,spref.xyunits,spref.z_offset,
spref.z_scale,spref.m_offset,spref.m_scale,spref.definition,prim.numpts,
prim.entity,prim.points,text_clob);
return(text_clob);
end st_astext_f;
sde.st_geometry_shapelib_pkg.st_astext的的代码如下:
create or replace package body "sde"."st_geometry_shapelib_pkg" as
procedure astext (srid in number,
false_x in number,
false_y in number,
xyunits in number,
false_z in number,
zunits in number,
false_m in number,
munits in number,
proj_str in varchar2,
pls_numpts in number,
pls_entity in number,
points in blob,
shptxt in out clob
language c
name "astext"
library st_shapelib
with context
parameters (
srid ocinumber,
false_x ocinumber,
false_y ocinumber,
xyunits ocinumber,
false_z ocinumber,
zunits ocinumber,
false_m ocinumber,
munits ocinumber,
proj_str string, proj_str indicator short, proj_str length int,
pls_numpts ocinumber,
pls_entity ocinumber,
points ociloblocator, points indicator short,
shptxt ociloblocator, shptxt indicator short
2。 在执行的sde.st_geometry_shapelib_pkg.st_astext程序过程中,调用了一个astext函数(该函数在sdehome/bin/st_shapelib.dll(windows),$sdehome/lib/libst_shapelib.so(unix,linux)定义的)。这里需要借助别名库(alias library)来表示动态库路径。别名库是里的一个对象,在sde中就是st_shapelib对象(该对象的类型为library对象,其定义在下面),此文来自: 马开东博客
转载请注明出处 网址:
用来描述一个外部函数所在的动态链接库的路径和名称。通过别名库,从而可以知道被调用的外部函数在哪个文件里。
library对象的定义:
linux,unix:
astext函数的定义:
从上图可以看出,空间运算的所有的核心算法都在这17个函数中。
linux,unix:
3.当某个session调用某个sql的时候,监听器会生成一个ext(extproc.exe windows,extproc(linux))该进程专门用来处理对外部函数的调用。并且在整个session里,extproc进程会一直存在,只有当所有的session断开后,该进程才会退出。
4. extproc进程负责将别名库所指定的动态链接库文件加载到内存,(windows:st_shapelib.dll,unix,linux:libst_shapelib.so必须放在服务器端,并且由于windows:st_shapelib.dll要调用sg.dll和pe.dll两个动态库, unix,linux:libst_shapelib.so要调用libsg.so,libpe.so两个动态库,所以相关的两个动态库也要放到服务器端)
5. extproc进程执行指定的外部函数,并将结果返回给服务器进程,进而服务器进程返回给用户进程。
从上述原理可以看到,使用外部,既保证了调用的效率,又很好的隐藏了源代码。
st_shapelib对象的配置
该对象位于sde的schema下,类型为library,以sde用户登陆后可以通过查询user_libraries字典进行详细信息的查询。
分以下几种情况进行说明:
1. arcsde和服务器安装在一台机器。
在post过程中会自动创建该对象,而且该对象指向的外部的此文来自: 马开东博客
转载请注明出处 网址:
动态库的路径一定正确的,对这种情况不用做特别的设置。
2. arcsde和服务器是分开部署的并且服务器和sde服务器是同类型,同厂商的,如都是windows或者都是solairs。
在post过程中也会自动创建该对象,但是该对象所指向的外部的动态库为sde服务器上的路径,如sde安装在d:/program/arcgis/arcsde目录中,则该对象指向d:/program files/arcgis/arcsde/ora10gexe/bin/st_shapelib.dll,但是该路径在服务上并不存在,此时可以用以下两种方法进行处理。
a. 在服务器上也建立d:/program files/arcgis/arcsde/ora10gexe/bin/目录,然后把sde服务器上的st_shapelib.dll文件拷贝到该目录中。
b. 在服务器上随便建立一个目录,如d:/arcsde/bin,然后把sde服务器上的st_shapelib.dll文件拷贝到该目录中,然后到中修改st_shapelib对象所指向的动态库,
3. arcsde和服务器是分开部署的,并且服务器和sde服务器不是同类型的。
如服务器是linux,sde服务器是window。
如sde安装在d:/program files/arcgis/arcsde目录中,做完post后,中的st_shapelib对象所指向的动态库为d:/program files/arcgis/arcsde/ora10gexe/bin/st_shapelib.dll。该路径在linux实际上不存在。此时需要在服务器上把arcsde的软件安装上,然后通过sql到中把st_shapelib对象指向正确的动态库。
oracle外部的配置
服务器端:
windows下通过菜单打开net manager, linux, unix执行netmgr,启动的界面如下图所示:
选中已经存在的某个listener(一般情况下只会有一个listener),选择监听位置,并添加一个监听地址,协议选择ipc,如下图所示:
2. 然后选择服务,并填写相关信息,如下:
3. 选择其他服务,
在环境处填写:
"extproc_dlls=d:/program files/arcgis/arcsde/ora10gexe/bin/st_shapelib.dll"
在程序名处填写:
sid处填写:
plsextproc
3. 选择文件à保存网络配置后,退出,完成监听器的配置。
4. 修改tnsnames.ora文件,添加如下一行:
extproc_connection_data =
(description =
(address_list =
(address = (protocol = ipc)(key = extproc1))
(address = (protocol = tcp)(host = 192.168.200.222)(port = 1521))
(connect_data =
(sid = plsextproc)
(presentation = ro)
1. linux,unix下没有把$sdehome/lib目录添加到oracle用户下的.profile或者.bash_profile的相关环境变量中。
<p style="color: #333333; font-family: line-height: 26p搜索此文相关文章:此文来自: 马开东博客
网址: 站长QQ
上一篇:没有了
直接施用SQL操作Oracle空间数据的原理以及配置方法_SQL相关文章
SQL_总排行榜
SQL_月排行榜
SQL_周排行榜
SQL_日排行榜oracle 存储过程问题,A表中数据插入到B表中_百度知道
oracle 存储过程问题,A表中数据插入到B表中
&&&nbsp,&#39; TNAME ;&&nbsp,1);||TNAME||&#39; values(&nbsp,&#39;&&&nbsp,3);&;&&&&&nbsp,4);&&insert into A(t1;insert into A(t1; SYSTEMDATE VARCHAR2(6);&BEGIN&现在已经可以建表了;&&&--&&nbsp。CREATE OR REPLACE PROCEDURE FORMYTESTAS &&& COMMIT; TNAME VARCHAR2(12);&&&--& DBMS_OUTPUT,t3) values(2;&& t3 number& DBMS_OUTPUT;B&#39; PSTRING ;&nbsp.t3);&nbsp?如果在插入结束后删除A表数据;&(&&& EXECUTE IMMEDIATE PSTRING;&f&#39;&&;&nbspA表的建表语句为;,t2;&nbsp.t1;CREATE TABLE &#39。谢谢大侠了;-- for mytest in testvar loop&&&nbsp,&nbsp,t3) values(4;&&yyyyMM&#39;&&&&&&&nbsp,t3) values(3,t2;insert into A(t1;f&#39;insert into A(t1;&nbsp.PUT_LINE(SYSTEMDATE);&& -- cursor testvar is select *&&&nbsp,该怎么写:=&#39;&&nbsp,昨天刚接触存储过程;&nbsp.PUT_LINE(TNAME),t2;,&#39;&&f&#39; PSTRING VARCHAR2(2000); )&#39;&nbsp,t2 varchar2(10).t1 = 1&&&&& t2 varchar2(10),然后将A表的数据删除;&&nbsp,&#39;&&END;& &&&nbsp,&&&要在存储过程中新建一张表B;&&nbsp:=&#39;&&nbsp,请问怎么把A表中的数据插入到B表中呢,&& SELECT TO_CHAR(SYSDATE,&--&&&||SYSTEMDATE.t2;;&&&&&& insert into &#39;&&&&nbsp,t3 number); t1 then&nbsp,&&&&&||TNAME||&#39;) INTO SYSTEMDATE FROM DUAL:create table A(t1 number,2),&#39;f&#39;&nbsp,t3) values(1;-- end loop,t2;--&&nbsp
;EXECUTE IMMEDIATE PSTRING:=&#39;delete from a在end loop后加PSTRING;insert into b select * from a&#39;
来自团队:
其他类似问题
为您推荐:
存储过程的相关知识
其他1条回答
按照你的建法;删除a表数据,可以再增加一句 insert into b select * from a。这样直接就把a的数据写入b了,可以用语句create table b as select * from a如果新建的表B和原表A结构相同:delete from a
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}

我要回帖

更多关于 oracle的数据类型 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信