Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
创建一个表并向其中装载 ESRI shapefile。
st_geometry_load_shapefile( shp_filename , srid , table_name [, table_owner [, shp_encoding ] ] )
shp_filename 使用此 VARCHAR(512) 参数指定 ESRI shapefile 的位置。文件名必须包含扩展名 .shp,并且在相同目录下还必须存在基本名相同的关联 .shx 文件和 .dbf 文件。路径相对于数据库服务器,而不是客户端应用程序。
srid 使用此 INTEGER 参数指定 SRID 与 shapefile 中的数据相关联。要使几何有效,指定的 SRID 应适用于这些几何,即使该 SRID 与 shapefile 中使用的 SRID 不同也应如此。
table_name 使用此 VARCHAR(128) 列指定用于存储 shapefile 数据而创建的表的名称。
table_owner 使用此可选 VARCHAR(128) 列为新创建的表指定所有者。缺省所有者为当前用户。
shp_encoding 使用此可选 VARCHAR(50) 参数指定读取 shapefile 时使用的编码。缺省编码为 ISO-8859-1。
st_geometry_load_shapefile 系统过程首先使用 ESRI shapefile 中的列信息(名称和类型)创建表并指定 "table_owner" 和 "table_name"。然后再将数据从 shapefile 装载到该新表中。
此过程利用了 sa_describe_shapefile 系统过程以及 LOAD TABLE...FORMAT SHAPEFILE 语句。
如果 -gl 选项设置为 NONE,则装载数据将失败。
如果 -gl 选项设置为 DBA:
若您是 table_owner,则必须具有 CREATE TABLE、CREATE ANY TABLE 或 CREATE ANY OBJECT 系统特权之一,并具有 ALTER ANY TABLE、ALTER ANY OBJECT 或 LOAD ANY TABLE 系统特权之一。
若您不是 table_owner,则必须具有 CREATE ANY TABLE 或 CREATE ANY OBJECT 系统特权之一,并具有 ALTER ANY TABLE、ALTER ANY OBJECT 或 LOAD ANY TABLE 系统特权之一。
如果 -gl 选项设置为 ALL:
若您是 table_owner,则必须具有 CREATE TABLE、CREATE ANY TABLE 或 CREATE ANY OBJECT 系统特权之一。
如果装载失败,则保留已创建的表。
以下语句可创建 esri_load 表,然后向其中装载虚拟 shapefile c:\esri\shapefile.shp 中的数据,并将这些数据与 SRID 1000004326 相关联:
CALL st_geometry_load_shapefile( 'c:\\esri\\tgr36069trt00.shp', 1000004326, 'esri_load' );