dataapi接口使用指南

合集下载

SMC 3.0 DataSource API应用手册

SMC 3.0 DataSource API应用手册

3.0DataSource API应用手册北京圣佐空间软件科技发展有限公司二〇〇九年录.关于本手册 (1)首要阅读 (1)指南约定 (2)名词解释 (3)第一章DATASOURCEAPI简介 (4)第二章DATASOURCE功能 (7)2.1D ATA S OURCE使用方式 (7)2.2D ATA S OURCE应用功能描述 (9)2.2.1接收数据 (9)2.2.2解析数据 (9)2.2.3保存历史数据 (10)2.2.4监视数据 (11)2.2.5命令处理 (11)2.2.6向其它应用服务提供数据 (11)第三章DATASOURCE开发 (13)3.1SMC.D ATA S OURCE A DVANCE API开发D ATA S OURCE (13)3.1.1接收数据的网络协议 (14)3.1.1.1接口函数说明 (15)3.1.1.2接口示例 (16)3.1.2解析数据 (19)3.2.1接口函数说明 (19)北京圣佐空间软件SMC3.0DataSource API应用手册3.2.2数据解析实现流程 (21)3.2.3接口示例 (21)3.1.3监视数据 (24)3.3.1接口函数说明 (24)3.3.2接口示例 (25)3.1.4命令处理 (28)3.4.1接口函数说明 (28)3.4.2接口示例 (29)3.1.5D ATA S OURCE配置 (30)3.5.1相关目录 (30)3.5.2配置操作 (31)3.5.3启动DataSource (34)3.2SMC.D ATA S OURCE API开发D ATA S OURCE (35)3.2.1接口方法 (35)3.2.2实例开发 (39)3.2.3加载运行 (41)·关于本手册欢迎使用圣佐空间软件公司产品SMC3.0。

本手册为购买SMC3.0产品的产品用户准备的系列开发手册之一,产品用户只需要结合SMC3.0产品的《SMC3.0.DataSourceAPI应用手册》(即本手册)和《SMC3.0.RTCORE应用手册》即可开发出客户所需的包含数据的采集接收以及相关的页面解析、数据显示数据通讯等等。

File Geodatabase API介绍

File Geodatabase API介绍

File Geodatabase API介绍在ArcGIS10中,就提到了要推出File GDB API,这对于用户来说又是一个福音,用户可以直接使用API来操作File GDB对象而不用使用ArcObject接口,这无疑是一种省时省钱的途径,下面就简单介绍一下目前的Beta版。

开发环境API支持创建、打开、删除FGDB对象读取GDB里面的Schema创建GDB里面简单的对象(普通表、点线面要素类、数据集、子类、域)读取GDB里面的数据集的内容简单数据集内容(表、点线面、多点、多片要素类)的编辑(增删改)进行属性和空间查询(有限制的只支持envelope-intersects空间查询)操作附件API不支持注记和多维要素类关系类几何网络和网络数据集拓扑Terrains数据集RepresentationsParcel Fabrics以下还不能被执行Geodatabase::MoveGeodatabase::RenameTable::AlterFieldFile GDB SQL选择不支持ORDER By和Joins在首次发布的API对影像对象也不支持(RD、RC、MD),但是感觉随着版本的不断更新,这些是能够支持的,只是现在不支持。

API说明在上面看来FGDB API可以操作简单模型而不能操作复杂模型,用户可以使用Table::IsEditable 方法来进行判断。

FGDB API可以让用户不使用ArcObject来完成某些功能,但是不代表可以代替ArcObject,通过上面的介绍可以感受到,使用FGDB API之能操作简单的对象,实现一些简单的功能需要,而复杂的对象还是不能够完成,这个等待一会API的完善和Esri的技术策略了。

FGDB API是针对ArcGIS10的新的GDB Schema来设计的,所以只支持或者说只能操作ArcGIS10以后的版本,对以前的版本是不支持的。

下载地址/zh-cn/content/geodatabases/10.0/file-gdb-api文件说明下载完毕后,我们可以看到里面有相关的File GDBAPI.dll,相关的帮助文档、一些示例,还有一些头文件的定义,很全面。

SUNDB数据库开发者指南说明书

SUNDB数据库开发者指南说明书

Developer Manual Developer Manual目录1.Database Connection (1)1.1特征 (1)1.2选择执行成员 (2)1.3Global Session (4)1.4约束事项 (6)1.5设置 (8)2.ODBC (9)2.1SUNDB ODBC Driver概述 (9)2.2数据源构成 (13)2.3GLOBAL CONNECTION (36)2.4目录函数 (48)2.5非标准数据类型 (54)2.6ODBC API References (69)2.7XA API References (580)3.JDBC (607)3.1概要 (607)3.1功能详情 (614)3.2JDBC API References (669)4.Embedded SQL (942)4.1Precompiler (942)4.2Embedded SQL (958)4.3Advanced Topic (1149)4.4Embedded SQL Reference (1214)Developer Manual 5.PDO (1252)5.1PDO概要 (1252)5.2安装/构成 (1252)5.3使用 (1256)5.4示例 (1256)6.PyDBC (1275)6.1SUNDB PyDBC (1275)6.2API Reference (1280)6.3Exception (1302)6.4Data Type (1304)7.Ruby (1309)7.1概要 (1309)7.2安装 (1309)7.3示例 (1311)7.4ActiveRecord的使用示例 (1316)8.Hibernate (1322)8.1概要 (1322)8.2联动 (1322)8.3示例 (1325)1.Database Connection1.1特征Figure30-1GLOBAL CONNECTIONGlobal connection功能是考虑到数据locality的事务性能优化方案通常connection连接一个成员而global connection连接所有成员使用global connection的应用程序执行查询访问的数据最多的成员的查询从而提高性能Global connection可用于hashrangelist sharding等所有方式此时不需要变更应用程序执行online scale-out时用户不需要追加考虑新的节点应用程序可自动访问新节点运行此节点Figure30-2GLOBAL CONNECTION HA(high availability)执行SQL时所选节点发生故障时通过其他组的其他节点执行SQL所选的组的所有节点发生故障时通过其他组执行SQL恢复发生故障的节点时在online状态下自动重新访问该节点不仅如此用户也可以使用以下语句使应用程序重新执行访问ALTER SYSTEM RECONNECT GLOBAL CONNECTION1.2选择执行成员执行成员按照事务为单位进行选择没有事务时首次执行DML查询时按照sharding key选择组组内的执行成员取决于LOCALITY_MEMBER_POLICY参数之后在COMMIT或ROLLBACK之前执行的所有查询在所选成员中执行如果首次查询未选择根据sharding key的合适的组时根据LOCALITY_GROUP_POLICY参数决定组Figure30-3选择成员上图中transaction1的UPDATE查询根据sharding key在group1执行因此后续COMMIT之间的所有查询均在group1执行Transaction2的UPDATE查询在group3执行即使后续查询不适合在group 3执行但在COMMIT之前所有查询均在group3执行在没有事务的情况下只读专用查询(SELECT)与其他查询相同根据sharding key选择执行成员但后续执行的查询未必在上一次选择的成员中执行即包含在事务的所有查询仅在一个成员中执行与事务无关的查询按照查询为单位选择成员1.3Global SessionFigure30-4从global connection衍生的cluster session与应用程序直接连接的会话叫做driver session从driver session到其他成员的会话叫做cluster sessionGlobal connection在所有成员中创建driver session根据所需向其他成员创建cluster session由于global connection的特征可在一个成员中创建多个cluster sessionFigure30-5Global sessionGlobal session是在global connection创建的cluster session共享一个会话并由此提高资源效率的功能Global connection不使用global session时根据组和成员的增加而增加cluster session相反使用global session时即使增加组和成员也不会增加cluster sessionGlobal session功能仅可在global connection使用普通connection无法使用1.4约束事项使用global connection时SQL语句无法使用拥有session dependenccy的对象(session dependent object)或语句(session dependent clause)或函数(session dependent function)另外访问多个集群节点的SQL存在于一个事务中时事务中的SQL共同使用第一个SQL的sharding key选择的集群节点Global connection中查询仅在以prepare execute执行时考虑数据locality以direct execute执行时在任意节点执行Session Dependent Object在SQL语句使用session dependent object时不支持global connection●Global temporary tableSession Dependent Clause在SQL语句使用session dependent clause时不支持global connection●所有@domain相关语句Session Dependent Function和Pseudo Column 在SQL语句使用session dependent信息时不支持global connection●CURRVAL(sequence),sequence.CURRVAL●UUID()●VERSION()●SESSION_ID()●SESSION_SERIAL()●USER_ID()●LAST_IDENTITY_VALUE()●STATEMENT_VIEW_SCN()●STATEMENT_VIEW_SCN_GCN()●STATEMENT_VIEW_SCN_DCN()●STATEMENT_VIEW_SCN_LCN()●LOCAL_GROUP_ID()●LOCAL_MEMBER_ID()●LOCAL_GROUP_NAME()●LOCAL_MEMBER_NAME()●CLUSTER_GROUP_ID●CLUSTER_GROUP_NAME●CLUSTER_MEMBER_ID●CLUSTER_MEMBER_NAME●CLUSTER_SHARD_ID使用Global Session功能的情况SQL语句不支持Data Definition Language(DDL) 1.5设置详细内容参考如下●ODBC Global Connection●JDBC Global Connection2.ODBC2.1SUNDB ODBC Driver概述SUNDB ODBC Driver的概念ODBC(开放数据库互连Open Database Connectivity)是数据库API(Application Programming Interface)的配置Microsoft ODBC3.0版本基于International Standards Organization/ International Electromechanical Commission(ISO/IEC)和X/open的分级调用接口(CLI)的推荐配置ODBC使用C libarary函数支持SQL语句应用程序通过调用该函数实现ODBC功能架构由执行以下功能的个要素组成组成要素功能应用程序调用与ODBC数据源通信的ODBC函数传递SQL语句后处理结果集驱动管理器管理应用程序以及应用程序中使用的所有ODBC驱动程序之间的通信驱动处理应用程序中的所有ODBC调用连接数据源并从应用程序将SQL语句传递至数据源后向应用程序返回结果必要时驱动将应用程序传递的ODBC SQL转换为数据源使用的基本SQL数据源包含驱动访问数据库数据时所需的所有信息使用ODBC应用程序可以执行以下操作●连接数据源●向数据源传输SQL语句●在数据源处理SQL语句的结果●错误及信息处理●断开与数据源的连接ODBC构成要素概要包含驱动管理器的SUNDB ODBC Driver以下为系统包含驱动管理器的软件架构此时应用程序需要链接到驱动管理器库Figure31-1包含驱动管理器的SUNDB ODBC driver不包含驱动管理器的SUNDB ODBC Driver下图为系统不包含驱动管理器并使用SUNDB ODBC driver的架构此时应用程序需要直接链接到SUNDB ODBC driver库Figure31-2不包含驱动管理器的SUNDB ODBC driverSUNDB ODBC Driver的使用头文件(header file)执行SUNDB ODBC driver需要有$SUNDB_HOME/include中设置的sundb.h文件此文件定义SUNDB ODBC driver的常数和类型提供SUNDB ODBC driver函数的原型库(Libraray)不使用驱动管理器的应用程序需要链接SUNDB ODBC driver库的静态或共享文件UNIX文件名说明libsundb.a包含DA与CS的库的静态版本libsundba.a DA专用库的静态版本libsundbas.so DA专用库的共享版本文件名说明libsundbc.a CS专用库的静态版本libsundbcs-ul32.so将SQLLEN识别为4字节的64Bit CS专用库的共享版本libsundbcs-ul64.so将SQLLEN识别为8字节的64Bit CS专用库的共享版本libsundbcs.so32Bit CS专用库的共享版本libsundbs.so包含DA与CS的库的共享版本Table31-1SUNDB UNIX ODBC driver库文件WindowsSUNDB Windows ODBC driver库只提供CS库文件文件名说明sundbcs-ul64.dll将SQLLEN识别为8字节的64Bit CS专用库的共享版本sundbcs.dll32Bit CS专用库的共享版本sundbsetup32.dll设置32Bit ODBC driver manager的库sundbsetup64.dll设置64Bit ODBC driver manager的库Table31-2SUNDB Windows ODBC driver库文件SUNDB数据库SQL手册2.2数据源构成UNIX中的DSN设置odbcinst.ini文件odbcinst.ini是已安装的ODBC驱动程序的配置文件●unixODBC%odbcinst-junixODBC2.3.4DRIVERS............:/etc/odbcinst.iniSYSTEM DATA SOURCES:/etc/odbc.iniFILE DATA SOURCES..:/etc/ODBCDataSourcesUSER DATA SOURCES..:/home/sundb/.odbc.iniSQLULEN Size.......:8SQLLEN Size........:8SQLSETPOSIROW Size.:8●iODBC%iodbc-config--odbcinstini/etc/odbcinst.iniODBC Driver配置odbcinst.ini文件的ODBC驱动程序配置部分描述驱动程序属性值和目录每个安装的驱动程序的驱动程序名称下有注册信息部分[driver_name]Description=driver_descriptionDriver=driver_library_pathSetup=setup_library_pathFileUsage=file_usage下表描述了驱动程序配置部分中的关键字关键字说明Description说明驱动程序的字符串Driver驱动library路径Setup安装library路径FileUsage显示基于文件的驱动在DSN中直接处理文件的方法的文字以下为查看SUNDB ODBC驱动配置相关信息的示例[SUNDB ODBC Driver]Description=SUNDB ODBC DriverDriver=/home/sundb/home/lib/libsundbcs-ul64.soSetup=/home/sundb/home/lib/libsundbcs-ul64.soFileUsage=0odbc.ini文件odbc.ini文件是应用程序连接的DSN的配置文件分为用户DSN与系统DSN通常用户DSN文件为~/.odbc.ini文件系统DSN文件为/etc/odbc.ini文件●unixODBC%odbcinst-junixODBC2.3.4DRIVERS............:/etc/odbcinst.iniSYSTEM DATA SOURCES:/etc/odbc.iniFILE DATA SOURCES..:/etc/ODBCDataSourcesUSER DATA SOURCES..:/home/sundb/.odbc.iniSQLULEN Size.......:8SQLLEN Size........:8SQLSETPOSIROW Size.:8●iODBC%iodbc-config--odbcini/etc/odbc.ini数据源配置odbc.ini文件的数据源配置部分中说明DSN[data_source_name]Driver=driver_namePROTOCOL={DA|TCP|IPC}CS_MODE={default|dedicated|shared}HOST=host_addressPORT=port_noPREFER_IPV6={0|1}CHARSET={SQL_ASCII|UTF8|UHC|GB18030}TCP_NODELAY={0|1}ALTERNATE_SERVERS=(HOST=ADDRESS1:PORT=PORT1,HOST=ADDRESS2:PORT=PORT2) CONNECTION_RETRY_COUNT=retry_countCONNECTION_RETRY_DELAY=retry_delayFAILOVER_TYPE={CONNECTION|SESSION}FAILOVER_GRANULARITY={0|1|2}FAILOVER_ROUTING_POLICY={0|1}DATE_FORMAT=date_format_stringTIME_FORMAT=time_format_stringTIME_WITH_TIME_ZONE_FORMAT=timetz_format_stringTIMESTAMP_FORMAT=timestamp_format_stringTIMESTAMP_WITH_TIME_ZONE_FORMAT=timestamptz_format_stringCHAR_LENGTH_UNITS={BYTE|OCTETS|CHAR|CHARACTERS}ENABLE_SQLDESCRIBEPARAM={0|1}ENABLE_SQLBINDPARAMETER_CONSISTENCY_CHECK={0|1}USE_TARGETTYPE={0|1|2}LOCATOR_DSN=locator_dsn_nameLOCATOR_SERVICE=locator_service_nameLOCALITY_AWARE_TRANSACTION={0|1}LOCALITY_GROUP_POLICY={0|1|2}LOCALITY_GROUP_PATH=group_name1,group_name2,group_name3LOCALITY_MEMBER_POLICY={0|1|2|3|4}LOCALITY_MEMBER_PATH=member_name1,member_name2,member_name3DB_HOME=database_home_pathPACKET_COMPRESSION_THRESHOLD=packet_compression_thresholdUSE_GLOBAL_SESSION={0|1}LOGIN_TIMEOUT=login_timeoutTRACE={0|1}TRACEFILE=file_path_nameTRACE_POLICY={DEFAULT|ERROR}INCLUDE_SYNONYMS={0|1}DOT_NET_FOR_ODBC={0|1}[locator_dsn_name]FILE=location_file_nameHOST=IP address(v4)PORT=locator_portCONNECTION_TIMEOUT=secondALTERNATE_LOCATORS=(HOST=ADDRESS1:PORT=PORT1,HOST=ADDRESS2:PORT=PORT2)下表为数据源配置部分的关键字属性说明data_source_name数据源section中指定的数据源Driver odbcinst.ini中安装的驱动名PROTOCOL与服务器连接的方式●DA:无额外的通讯直接连接●TCP:使用TCP socket进行通讯●IPC:使用共享内存进行通讯并且需要与server在相同设备上第一次连接时为了传输IPC信息会使用TCP连接所以需要设置HOST和PORT仅可使用Dedicated模式进行连接CS_MODE 设置以dedicated模式访问还是以shared模式连接如果不使用此设置模式取决于listener的configuration(DEFAULT_CS_MODE)HOST HOST IP地址或名称PORT连接端口号PREFER_IPV6HOST参数为HOST名时IP地址中优先IPv6 TCP_NODELAY socket TCP_NODELAY选项UID用户ID属性说明PWD用户密码CHARSET客户端字符集ALTERNATE_SERVERS 发生failover时尝试连接的服务器目录每个服务器以逗号","区分不使用failover功能时不设置ALTERNATE_SERVERSCONNECTION_RETRY_COUNT连接失败时尝试连接服务器的次数CONNECTION_RETRY_DELAY连接失败时尝试连接的服务器的时间间隔(单位:秒)FAILOVER_TYPE ●CONNECTION:连接失败时连接至ALTERNATE_SERVERS●SESSION:连接失败或处理statement过程中连接断开时连接至ALTERNATE_SERVERS后恢复statement如果断开连接时没有进行中的事务则failover后执行进行中的statementFAILOVER_GRANULARITY●0:进行failover的过程中发生错误也继续进行failover属性说明●1:进行failover的过程中发生除SQLExeceute()SQLExecDirect()外的错误时failover将失败●2:进行failover的过程中发生错误时failover将失败DATE_FORMAT DATE类型字符串TIME_FORMAT TIME类型字符串TIME_WITH_TIME_ZONE_FORMAT TIME WITH TIME ZONE类型字符串TIMESTAMP_FORMAT TIMESTAMP类型字符串TIMESTAMP_WITH_TIME_ZONE_FORMAT TIMESTAMP WITH TIME ZONE类型字符串CHAR_LENGTH_UNITS SQLBindParameter()中ParameterType为SQL_CHARSQL_VARCHAR时的ColumnSize的单位●BYTE,OCTETS:以byte为单位●CHAR,CHARACTERS:以字符为单位ENABLE_SQLDESCRIBEPARAM决定是否执行SQLDescribeParam()●0:不支持SQLDescribeParam()●1:对所有parameter返回属性说明SQL_VARCHARENABLE_SQLBINDPARAMETER_CONSISTENCY_CHECK决定是否检查SQLBindParameter()的ColumnSize和DecimalDigits●0:不检查ColumnSize和DecimalDigits ●1:检查ColumnSize和DecimalDigitsUSE_TARGETTYPE设置以通信接收column类型时同时接收的类型信息●0:仅接收column类型●1:接收column类型与column名称●2:接收column类型与column的所有信息LOCATOR_DSN指定Location信息的Data Source Name(DSN)LOCATOR_SERVICE从Service hintglocator获取访问信息LOCALITY_AWARE_TRANSACTION是否使用GLOBAL CONNECTION●0:不使用GLOBAL CONNECTION ●1:使用GLOBAL CONNECTION属性说明LOCALITY_GROUP_POLICY使用GLOBAL CONNECTION时没有可选择的群组或可以选择两个以上的群组时设置群组选择方法●0:任意选择●1:按照顺序选择LOCALITY_GROUP_PATH设置中的群组无法使用LOCALITY_GROUP_PATH的所有群组时选择任意群组●2:按照顺序选择每次按照驱动中连接的群组顺序选择LOCALITY_GROUP_PATH 使用GLOBAL CONNECTION时可选择的群组不是1个时指定选择的群组的目录各群组以逗号()区分例:G1G2G3LOCALITY_MEMBER_POLICY决定使用GLOBAL CONNECTION时所选的群组中的成员的选择方法●0:DML:MASTER/SELECT:MASTER ●1:DML:ANY/SELECT:ANY●2:DML:MASTER/SELECT:ANY●3:DML:MASTER/SELECT:SLAVE属性说明●4:按照LOCALITY_MEMBER_PATH设置中的成员的顺序进行选择无法使用LOCALITY_MEMBER_PATH中的所有成员时选择所选群组的MASTERLOCALITY_MEMBER_PATH 指定在使用GLOBAL CONNECTION时所选的群组中要使用的成员的目录各成员以逗号()区分例:G1N1,G2N1,G3N1,G1N2,G2N2,G3N2DB_HOME设置数据库的home目录默认值使用$SUNDB_HOME的环境变量PACKET_COMPRESSION_THRESHOLD 发送至服务器的通信数据的大小大于PACKET_COMPRESSION_THRESHOLD时压缩通信数据设定值的范围为32~2113929216USE_GLOBAL_SESSION是否使用GLOBAL SESSION●0:不使用GLOBAL SESSION ●1:使用GLOBAL SESSIONLOGIN_TIMEOUT等待完成login请求的时间(秒)TRACE是否在ODBC API使用trace属性说明●0:不使用trace●1:使用traceTRACEFILE Trace文件名输入在相对路径时执行程序的当前目录成为标准默认值为'odbc_trace.log'TRACE_POLICY Trace策略默认值为DEFAULT●DEFAULT:同时记录函数参数和结果●ERROR:函数失败时记录日志INCLUDE_SYNONYMS决定是否在SQLGetColumns()中包含synonym 个体.●0:不包含synonym个体●1:包含synonym个体DOT_NET_FOR_ODBC决定是否将ODBC用于.NET Framework用途●0:不改变用途●1:SQLGetDescField()和SQLColAttribute()中将SQL_DESC_BASE_COLUMN_NAME,属性说明SQL_DESC_NAME属性替换为SQL_DESC_LABEL Table31-3数据源配置部分的关键字关键字说明FILE Location file nameHOST glocator ip addressPORT glocator port number CONNECTION_TIMEOUT Connection timeout with glocator(second) ALTERNATE_LOCATORS未收到glocator的响应时使用ALTERNATE_LOCATORS获取访问信息Table31-4LocationNote:*LOCATOR_DSN中已设置FILE与HOSTPORT属性时优先适用FILE属性FILE相关详细内容参考Location File*通过LOCATOR_SERVICE属性可访问LOCATOR_SERVICE所属的服务器所访问的服务器以外的服务器为ALTERNATE_SERVERS+未设置FAILOVER_TYPE则FAILOVER_TYPE为session+未设置FAILOVER_GRANULARITY则FAILOVER_GRANULARITY为1+详细内容参考glocator与gloctlSUNDB的DSN配置如下[SUNDB]Driver=SUNDB ODBC DriverPROTOCOL=TCPCS_MODE=SHAREDHOST=192.168.0.10PORT=22581CHARSET=UTF8TCP_NODELAY=1ALTERNATE_SERVERS=(HOST=192.168.0.11:PORT=22581,HOST=192.168.0.12:PORT=22581) CONNECTION_RETRY_COUNT=3CONNECTION_RETRY_DELAY=1FAILOVER_TYPE=SESSIONFAILOVER_GRANULARITY=0FAILOVER_ROUTING_POLICY=0DATE_FORMAT=YYYY-MM-DDTIME_FORMAT=HH24:MI:SS.FF6TIME_WITH_TIME_ZONE_FORMAT=HH24:MI:SS.FF6TZH:TZMTIMESTAMP_FORMAT=YYYY-MM-DD HH24:MI:SS.FF6TIMESTAMP_WITH_TIME_ZONE_FORMAT=YYYY-MM-DD HH24:MI:SS.FF6TZH:TZM CHAR_LENGTH_UNITS=CHARACTERSENABLE_SQLDESCRIBEPARAM=1ENABLE_SQLBINDPARAMETER_CONSISTENCY_CHECK=1USE_TARGETTYPE=0INCLUDE_SYNONYMS=0PACKET_COMPRESSION_THRESHOLD=2113929216LOCALITY_AWARE_TRANSACTION=0LOCALITY_GROUP_POLICY=0LOCALITY_GROUP_PATH=G1,G2,G3LOCALITY_MEMBER_POLICY=0LOCALITY_MEMBER_PATH=G1N1,G2N1,G3N1,G1N2,G2N2,G3N2 USE_GLOBAL_SESSION=0LOGIN_TIMEOUT=0LOCATOR_DSN=LOCATORLOCATOR_SERVICE=S1TRACE=1TRACEFILE=/home/test/log/mytrace.logDOT_NET_FOR_ODBC=0[LOCATOR]FILE=/home/test/.location.iniHOST=127.0.0.1PORT=42581ALTERNATE_LOCATORS=(HOST=127.0.0.1:PORT=42582,HOST=127.0.0.1:PORT=42583) Windows中的DSN设置Windows中可通过ODBC数据源管理器添加或设置DSNFigure31-3Creating new data sourceFigure31-4ODBC driver configuration各项详细说明如下关键字说明DSN数据源名称HOST HOST IP地址或名称PORT连接端口号UID用户IDCS_MODE 设置以dedicated模式连接或以shared模式连接未设置时default模式取决于listener的configuration(DEFAULT_CS_MODE)ALTERNATE_SERVERS发生failover时尝试连接的服务器列表以逗号()区分不使用failover功能时ALTERNATE_SERVERS设置为空白CONNECTION_RETRY_COUNT连接失败时尝试重连服务器的次数CONNECTION_RETRY_DELAY连接失败时尝试重连的服务器时间间隔(单位:秒)FAILOVER_TYPE ●CONNECTION:连接失败时连接至ALTERNATE_SERVERS●SESSION:连接失败或语句执行中连接中断时连接至ALTERNATE_SERVERS后恢复语句断开连接时如没有进行中的事务failover后执行进行中的statement关键字说明FAILOVER_GRANULARITY ●Non-atomic:failover过程中即使报错也继续执行failover●Atomic:failover过程中报错则failover失败DATE_FORMAT DATE类型字符串TIME_FORMAT TIME类型字符串TIME_WITH_TIME_ZONE_FORMAT TIME WITH TIME ZONE类型字符串TIMESTAMP_FORMAT TIMESTAMP类型字符串TIMESTAMP_WITH_TIME_ZONE_FORMAT TIMESTAMP WITH TIME ZONE类型字符串CHAR_LENGTH_UNITS SQLBindParameter()中ParameterType为SQL_CHAR时的ColumnSize单位●BYTE,OCTETS:以byte为单位●CHAR,CHARACTERS:以字符为单位LOCALITY_AWARE_TRANSACTION GLOBAL CONNECTION使用与否●0:不使用GLOBAL CONNECTION ●1:使用GLOBAL CONNECTIONUSE_GLOBAL_SESSION GLOBAL SESSION使用与否关键字说明●0:不使用GLOBAL SESSION●1:使用GLOBAL SESSIONLOCALITY_GROUP_POLICY设置可使用GLOBAL CONNECTION时没有可选择的group或有两个以上可选择的group时选择哪个group●0:任意选择●1:依次选择LOCALITY_GROUP_PATH设置中的group无法使用所有LOCALITY_GROUP_PATH中的group时选择任意group●2:依次选择按照每次连接驱动的group顺序选择LOCALITY_GROUP_PATH 使用GLOBAL CONNECTION时可选择的group不是一个时指定选择的group的目录各个group以逗号()区分例:G1G2G3LOCALITY_MEMBER_POLICY使用GLOBAL CONNECTION时决定选择被选择地group中的成员的方法●0:DML:MASTER/SELECT:MASTER●1:DML:ANY/SELECT:ANY●2:DML:MASTER/SELECT:ANY●3:DML:MASTER/SELECT:SLAVE关键字说明●4:依次选择LOCALITY_MEMBER_PATH设置中的成员无法使用所有LOCALITY_MEMBER_PATH中的成员时选择被选择的group的MASTERLOCALITY_MEMBER_PATH 使用GLOBAL CONNECTION时在所选的group中指定要使用的成员的目录各个成员以逗号()区分例:G1N1,G2N1,G3N1,G1N2,G2N2,G3N2LOCATOR_HOST glocator ip address LOCATOR_PORT glocator port number LOCATOR_CONNECTION_TIMEOUT Connection timeout with glocator(second) ALTERNATE_LOCATORS无法从glocator获得响应时使用ALTERNATE_LOCATORS获取访问信息TRACE是否在ODBC API使用trace●0:不使用trace●1:使用traceTRACEFILE Trace文件名输入到相对路径时执行程序的当前目录成为标准默认值为'odbc_trace.log'TRACE_POLICY Trace策略默认值为DEFAULT关键字说明●DEFAULT:同时记录函数参数和结果●ERROR:函数失败时记录日志DOT_NET_FOR_ODBC决定是否将ODBC用于.NET Framework用途●0:不改变用途●1:SQLGetDescField()和SQLColAttribute()中将SQL_DESC_BASE_COLUMN_NAME,SQL_DESC_NAME属性替换为SQL_DESC_LABELTable31-5DSN配置关键字2.3GLOBAL CONNECTION集群环境支持应用程序可以选择符合处理查询的节点后执行的GLOBAL CONNECTION功能设置仅在PROTOCOL为TCP时才可使用GLOBAL CONNECTION此时需要在设置LOCALITY_AWARE_TRANSACTION属性值的同时设置LOCATOR文件或LOCATOR服务器使用global session时需要将USE_GLOBAL_SESSION属性值设置为1使用DSN时的.odbc.ini[SUNDB]PROTOCOL=TCPHOST=192.168.0.1PORT=22581UID=TESTPWD=testLOCALITY_AWARE_TRANSACTION=1LOCATOR_DSN=LOCATOR[LOCATOR]FILE=/home/sundb/.location.ini使用连接字符串时SQLDriverConnect(dbc,NULL,(SQLCHAR*)"PROTOCOL=TCP;HOST=192.168.0.1;PORT=22581;UID=TEST;PWD=test;LOCA LITY_AWARE_TRANSACTION=1;LOCATOR_HOST=192.168.0.2;LOCATOR_PORT=42581",SQL_NTS,NULL,0,NULL,SQL_DRIVER_NOPROMPT);GLOBAL CONNECTION的处理过程Figure31-5Basic steps of applying GLOBAL CONNECTION 1.SQLAllocHandle(DBC)分配connection handle连接用户输入服务器信息的服务器并获取集群系统的信息后通过LOCATOR文件或LOCATOR 服务器建立集群系统信息并连接集群系统的所有节点3.SQLAllocHandle(STMT)向连接的所有节点分配各个statement4.SQLPrepare在连接的所有节点准备执行SQL5.SQLExecute如未建立集群系统信息应用程序可通过LOCATOR文件或LOCATOR服务器建立集群系统信息并连接集群系统的所有节点在集群添加节点后访问新的节点时在该节点同样生成其他节点的所有statement并准备执行SQL如已建立sharding key信息应用程序使用sharding key信息选择合适的节点后执行查询如未建立sharding key信息应用程序从任意服务器建立该SQL的sharding key信息后选择合适的节点并执行查询所选节点发生故障时除该节点外再重新选择合适的节点后执行查询SQLExecute后sharding信息发生变更则删除已建立的sharding key信息SQLExecute后添加/删除集群节点等集群系统信息发生变更则删除已建立的集群系统信息6.SQLFetch从执行SQL的节点获取数据7.SQLCloseCursor在执行SQL的节点关闭游标8.SQLFreeHandle(STMT)在所有已连接的节点上解除statement解除与所有节点的连接10.SQLFreeHandle(DBC)解除connection handleGLOBAL CONNECTION异常处理使用GLOBAL CONNECTION时运行中所选节点发生故障时根据事务发生及SELECT进行与否如下进行操作●没有事务的情况没有事务的情况下所选节点发生故障时在ODBC内部选择其他节点并执行对应查询虽然所选节点发生了故障但由其他节点正常执行因此不向用户报错●有事务或SELECT进行时发生事务或SQLFetch()进行时所选节点发生故障时ODBC无法再进行当前操作因此返回19068(Retry the transactional operations)错误发生19068错误时用户需要重新执行对应事务或SELECTif(!SQL_SUCCEEDED(SQLPrepare(sStmt,(SQLCHAR*)"INSERT INTO T1VALUES(?)",SQL_NTS))){goto stmt_error;}trans_retry:if(!SQL_SUCCEEDED(SQLExecute(sStmt))) {SQLGetDiagRec(SQL_HANDLE_STMT,sStmt,1,sSQLState,&sNativeError,sMessageText,sizeof(sMessageText),&sTextLength);if(sNativeError==19068){goto trans_retry;}goto stmt_error;}if(!SQL_SUCCEEDED(SQLPrepare(sStmt,(SQLCHAR*)"SELECT*FROM T1WHERE C1=?",SQL_NTS))){goto stmt_error;}trans_begin:sReturn=SQLExecute(sStmt);if(sRetrun==SQL_ERROR){SQLGetDiagRec(SQL_HANDLE_STMT,sStmt,1,sSQLState,&sNativeError,sMessageText,sizeof(sMessageText),&sTextLength);if(sNativeError==19068){goto trans_retry;}goto stmt_error;}while(1){sReturn=SQLFetch(sStmt);if(sReturn==SQL_NO_DATA){SQLCloseCursor(sStmt);break;}else if(sReturn==SQL_ERROR){SQLGetDiagRec(SQL_HANDLE_STMT,sStmt,1,sSQLState,&sNativeError,sMessageText,sizeof(sMessageText),&sTextLength);if(sNativeError==19068){goto trans_retry;}goto stmt_error;}...}COMMIT或ROLLBACK事务时COMMIT事务时所选节点发生故障时ODBC通过其他节点查看事务是否在所选节点发生故障之前COMMIT如果所选节点发生了故障但事务正常COMMIT时不返回错误而且在事务未COMMIT的情况下所选节点发生故障时返回19068(Retry the transactional operations)错误发生19068错误时用户要重新执行该事务ROLLBACK事务时如果所选节点发生故障ODBC不报错因为由于节点故障该事务已经被ROLLBACKif(!SQL_SUCCEEDED(SQLSetConnectAttr(sDbc,SQL_AUTOCOMMIT,(SQLPOINTER)SQL_AUTOCOMMIT_OFF,0))){goto dbc_error;}if(!SQL_SUCCEEDED(SQLPrepare(sStmt,(SQLCHAR*)"INSERT INTO T1VALUES(?)",SQL_NTS))){goto stmt_error;}trans_retry:if(!SQL_SUCCEEDED(SQLExecute(sStmt))){SQLGetDiagRec(SQL_HANDLE_STMT,sStmt,1,sSQLState,&sNativeError,sMessageText,sizeof(sMessageText),&sTextLength);if(sNativeError==19068){goto trans_retry;}goto stmt_error;}if(!SQL_SUCCEEDED(SQLEndTran(SQL_HANDLE_DBC,sDbc,SQL_COMMIT))){SQLGetDiagRec(SQL_HANDLE_DBC,sDbc,1,sSQLState,&sNativeError,sMessageText,sizeof(sMessageText),&sTextLength);if(sNativeError==19068){goto trans_retry;}goto stmt_error;}GLOBAL CONNECTION约束事项●为了选择符合查询的节点需要使用SQLPrepare()和SQLExecute()使用GLOBAL CONNECTION查找符合查询的节点时需要使用SQLPrepare()和SQLExecute()SQLExecDirect()中没有查找符合查询的节点的信息因此选择节点取决于LOCALITY_GROUP_POLICY和LOCALITY_MEMBER_POLICY属性●COMMIT或ROLLBACK事务时要使用SQLEndTran()使用GLOBAL CONNECTION时通过SQL语句执行COMMIT或ROLLBACK则无法检测到事务状态变化COMMIT或ROLLBACK事务时必须使用SQLEndTran()●Global session不支持SQL语句中的Data Definition Language(DDL)。

前端开发中的数据请求和接口调用方法

前端开发中的数据请求和接口调用方法

前端开发中的数据请求和接口调用方法近年来,随着互联网的快速发展,前端开发在计算机行业中的地位越来越重要。

前端开发是用户与网站或应用程序之间的桥梁,通过编写页面的HTML、CSS和JavaScript代码,实现网站的交互功能。

在前端开发中,数据请求和接口调用是非常关键的一部分,本文将为大家介绍一些常用的数据请求和接口调用方法。

一、AJAX请求AJAX(Asynchronous JavaScript and XML)是一种在不重新加载整个网页的情况下,通过后台服务器与前端进行数据交互的技术。

使用AJAX可以实现异步请求,提高用户的体验速度。

在前端开发中,通过XMLHttpRequest对象可以向服务器发送AJAX请求。

该对象提供了一系列方法和属性,用于处理异步请求的各个阶段。

通过调用open方法设置请求的方式、URL和是否异步等参数,然后调用send方法发送请求。

在请求成功后,可以通过onreadystatechange事件监听对象状态的变化,并通过responseText或responseXML属性获取服务器返回的数据。

二、Fetch APIFetch API是一种新的Web API,用于发送网络请求并获取数据。

它基于Promise和Response对象,提供了一种现代化的、更简单、更强大的数据请求方式。

使用Fetch API发送请求时,只需调用fetch函数,传入请求的URL即可。

fetch函数返回一个Promise对象,可以通过链式调用then方法处理返回的结果。

在then方法中,可以使用json方法将响应内容转换为JSON格式的数据,或使用text方法将响应内容转换为文本格式的数据。

Fetch API的优势在于更加简洁易用,支持能否取消请求、设置请求超时时间、跨域请求等功能,并且兼容性较好。

三、Axios库Axios是一个基于Promise的HTTP客户端库,可以在浏览器和Node.js中发送HTTP请求。

API数据服务接口开发指南

API数据服务接口开发指南

API数据服务接口开辟指南1. 确定接口需求:首先,明确接口的功能和作用,确定需要提供哪些数据和操作。

2. 设计接口规范:根据接口需求,设计接口的输入参数、输出数据和操作方式。

可以使用常见的规范格式,如RESTful API或者GraphQL。

3. 实现接口逻辑:根据接口规范,编写代码实现接口的逻辑。

这包括从数据库或者其他数据源中获取数据,进行数据处理和计算,并将结果返回给调用方。

4. 数据验证和安全性:对接口的输入参数进行验证,确保数据的合法性和安全性。

可以使用正则表达式、数据类型检查或者其他验证方法。

5. 错误处理和异常处理:处理接口调用过程中可能浮现的错误和异常情况。

可以使用异常处理机制,如try-catch语句,捕获并处理异常,返回适当的错误信息。

6. 接口文档和测试:编写接口文档,描述接口的功能、输入参数和输出数据。

同时,编写测试用例,对接口进行测试,确保接口的正确性和稳定性。

7. 接口发布和部署:将接口部署到服务器上,使其可以被外部调用。

可以使用常见的部署方式,如将接口代码打包成容器镜像,使用容器编排工具进行部署。

8. 监控和日志:对接口进行监控和日志记录,以便及时发现和解决问题。

可以使用监控工具和日志分析工具,采集和分析接口的运行情况和日志信息。

9. 版本管理和升级:对接口进行版本管理,确保接口的兼容性和可扩展性。

在进行接口升级时,需要考虑对现有调用方的影响,并提供适当的迁移方案。

10. 性能优化和扩展:对接口进行性能优化,提高接口的响应速度和吞吐量。

可以使用缓存、负载均衡等技术手段,提高接口的性能和可扩展性。

apifoxapi调用传参知识点

apifoxapi调用传参知识点

apifoxapi调用传参知识点
APIFox是一个用于创建、管理和测试API的工具,它可以帮助开发人员更轻松地处理API调用和参数传递。

在使用APIFox进行API调用时,有一些知识点需要注意:
1. 接口文档,在进行API调用之前,首先需要仔细阅读API的接口文档,了解每个接口的功能、所需参数以及返回结果的格式。

这样可以帮助你准确地传递参数并正确地解析返回结果。

2. 参数传递方式,API通常支持多种参数传递方式,包括GET 请求中的URL参数、POST请求中的表单参数或JSON格式参数等。

在调用API时,需要根据接口文档要求正确地传递参数。

3. 参数格式,在传递参数时,需要确保参数的格式正确,例如日期格式、数字格式、字符串格式等需要按照接口文档要求进行正确的格式化。

4. 认证信息,有些API调用需要进行身份验证,需要在调用时传递正确的认证信息,例如API密钥、访问令牌等。

5. 错误处理,在进行API调用时,需要考虑到可能出现的错误情况,例如网络连接失败、参数错误等,需要编写相应的错误处理逻辑。

总的来说,API调用和参数传递是一个相对复杂的过程,需要开发人员仔细阅读接口文档,正确传递参数,并处理可能出现的错误情况,才能顺利地完成API调用并获取正确的结果。

Data Services 说明书

Data Services 说明书

Data Services 入门指南第一章 Data Services产品套件概述第一节 Data Services 和 Business Objects 产品套件Business Objects产品套件通过专业的终端用户工具在一个单独的,可信的商务智能平台上提供了非常深刻的研究和探讨。

整个平台由Data Services支持。

在Data Services的顶层,Business Objects设计了最可靠的,扩展的和可管理的BI平台,该平台支持业界集成度最好的报表,查询和分析,绩效管理仪表盘,记分板和应用程序。

真正的数据集成组合了批量抽取,转换及加载(ETL)技术和跨越多个扩展的企业应用之间的实时双向的数据流。

通过创建一个关系数据仓库并智能地组合使用对来自企业ERP系统和其他数据源的数据的直接实时访问和批量数据访问方法,BusinessObjects开发了一个功能强大的,高性能数据集成的产品,它允许充分平衡你的ERP和企业应用的基础设施以满足多种业务使用。

Business Objects提供了一个批量和实时数据集成系统来驱动目前新一代的分析和供应链管理应用。

使用Business Objects高可扩展性的数据集成解决方案,企业可以维护与客户,供应商,员工和合作方的一个实时的在线的对话,给他们提供交易和业务分析需要的关键信息。

第二节 Data Services产品优点使用Data Services来开发批量和实时使用的企业数据集成。

通过Data Services:可以创建一个单独的用于批量和实时数据移动的基础架构从而获得一个更快的更低成本的实现。

企业可以在独立于任何单独的系统的前提下将数据作为企业资产来管理。

集成多个系统的数据并将这些数据重新用于许多其他目的。

可以选择使用预打包的数据解决方案已获得快速的部署和快的投资回报。

这些解决从业务操作系统抽取历史的和日常的数据并在一个开放的关系数据库中缓存这些数据。

api接口怎么使用教程

api接口怎么使用教程

api接口怎么使用教程API接口是不同软件系统之间进行数据交互的一种技术手段。

通过调用API接口,可以实现不同系统之间的数据传输和功能调用。

下面是一个简单的教程,介绍如何使用API接口。

首先,要使用API接口,你需要先了解API的使用方式和具体接口的功能。

不同的API接口可能有不同的使用文档和说明,你可以参考相关文档来了解接口的详细信息。

接着,你需要注册一个开发者账号,并获取API接口的访问凭证,一般是API Key或Access Token。

这些凭证用于标识你的身份和权限,确保你有权访问API接口。

获取凭证的方式可能因API供应商而异,你可以在文档中找到相关的指引。

获得访问凭证后,你可以使用不同的编程语言或API调试工具来编写代码进行接口调用。

以Python为例,你可以使用requests库来发送HTTP请求,并将API的URL和参数传递给接口。

在构造请求时,你需要注意选择合适的HTTP方法(如GET、POST、PUT、DELETE)来实现不同的功能,同时根据接口文档传递相应的参数。

有些接口可能需要在请求头中传递特定的参数,或者使用HTTPS进行加密传输,这些都需要根据文档的要求进行配置。

发送请求后,你会收到一个API的响应。

响应包含了你所请求的数据或操作的结果。

你可以根据响应的状态码和数据结构进行解析和处理。

一般来说,状态码200表示请求成功,而400及以上的状态码则可能表示请求参数有误或者访问被拒绝等。

最后,你可以根据接口的返回结果来进行进一步的数据处理或者功能开发。

你可以将数据存储到数据库中、展示到前端页面上,或者根据需要进行其他的业务逻辑处理。

总结起来,使用API接口的步骤包括:了解API的使用方式和功能、获取API的访问凭证、编写代码进行接口调用、解析处理API的响应结果。

通过以上步骤,你可以成功使用API 接口实现不同系统间的数据交互和功能调用。

这是一个简单的API接口使用教程,希望对你有所帮助。

apimodelproperty datatype详解

apimodelproperty datatype详解

apimodelproperty datatype详解标题:深入解析ApiModelProperty注解中的datatype属性在使用Spring框架进行API开发时,ApiModelProperty注解是常用于描述API模型的工具之一。

而其中的datatype属性更是一个关键参数,它有助于定义API模型中属性的数据类型。

本文将深入讨论ApiModelProperty注解中的datatype属性,为读者提供详细的解释和使用指南。

1. ApiModelProperty注解简介在开始探讨datatype属性之前,我们先来简要了解一下ApiModelProperty注解。

这是Spring框架中用于定制API文档的注解之一,通常与Swagger或其他API文档生成工具一起使用。

它可以用于描述模型类的属性,提供有关属性的元数据信息。

javaApiModel(description = "用户实体")public class User {ApiModelProperty(value = "用户ID", example = "1")private Long id;ApiModelProperty(value = "用户名", example = "JohnDoe")private String username;其他属性...}在上面的例子中,ApiModelProperty注解用于描述User类中的id和username属性。

这些描述信息包括值的含义、示例值等。

2. datatype属性的作用在ApiModelProperty注解中,datatype属性用于指定属性的数据类型。

这对于生成准确的API文档非常重要,因为它告诉文档生成工具如何解释属性的值。

datatype属性支持多种数据类型,包括基本数据类型、Java 类以及常见的Swagger数据类型。

政务数据API接口使用说明书

政务数据API接口使用说明书

政务数据API接口使用说明书(文件类)北京市政务数据资源网2019.5版本号:1.2目录1接口概述- 1 -2接口使用流程- 1 -2.1选择数据- 1 -2.2查看数据详细信息- 1 -2.3查看API接口说明文档- 2 -2.4登录用户个人中心- 2 -2.5获取API唯一标识码(key)- 3 -2.6使用接口- 4 -3接口调用规范- 4 -3.1接口描述- 4 -3.2请求方式- 4 -3.3接口组成- 4 -3.4数据返回- 4 -3.5完整URL - 4 -3.6输入参数- 5 -3.7输出参数- 5 -4接口调用示例- 5 -4.1输入示例- 5 -4.2输出示例- 5 -1接口概述静态文件类API接口是北京市政务数据资源网面向企业、开发者等用户,通过web方式获取北京市政务数据资源网静态文件的接口。

2接口使用流程2.1选择数据进入网站首页,通过“数据→按主题”或“数据→按机构”选择需求数据。

图1 选择数据资源2.2查看数据详细信息点击数据名称进入此数据“接口→使用说明”页面。

图2 数据详细信息页面2.3查看API接口说明文档点击“API下载”按钮查看此接口说明文档。

图3 接口说明文档2.4登录用户个人中心登录网站进入用户“个人中心”。

(如无帐号,需进行注册)图4 用户个人中心2.5获取API唯一标识码(key)点击进入“API唯一标识码”栏目,获取用户API唯一标识码(key)。

图5 API唯一标识码特别提示:API唯一标识码(key)用于调用本站API接口时进行身份认证,包含您的个人身份信息,请勿转告他人,以免影响您正常使用本站API接口。

2.6使用接口使用API唯一标识码(key),依据数据“接口说明文档”使用本网站静态文件类API接口。

(接口调用规范详见下章)3接口调用规范规范用于指导用户合理调用网站静态文件。

3.1接口描述本接口返回特定的静态文件下载链接。

3.2请求方式本接口请求方式为基于http的get方式。

怎样在插件中设置和使用API接口

怎样在插件中设置和使用API接口

怎样在插件中设置和使用API接口哎呀,一说到在插件中设置和使用 API 接口,可能很多朋友会觉得这是个超级复杂、让人头疼的事儿。

但别担心,跟着我一起来,其实也没那么难!我先给您讲讲我自己的一段经历。

有一次,我参加一个编程比赛,其中就涉及到在插件中设置和使用API 接口。

当时,我那叫一个紧张,感觉自己就像在黑暗中摸索,完全找不到方向。

咱们先说设置这一块哈。

首先,您得找到合适的插件。

就好比您要装修房子,得先选对工具一样。

比如说,如果您是搞网页开发的,可能会用到一些常见的浏览器插件。

找到插件之后,就得搞清楚它支持哪些 API 接口啦。

这就像是您知道了工具能做啥,才能更好地发挥它的作用嘛。

有些插件会在文档里写得清清楚楚,支持哪些接口,怎么用;可有些就没那么贴心了,这时候就得靠您自己去摸索尝试。

设置的时候,可一定要细心。

比如说,您得准确填写 API 密钥,这就像是给房子开门的钥匙,错一个字符都不行。

还有一些参数的配置,比如请求的频率限制、返回的数据格式等等,都得根据实际需求来,千万别马虎。

再来说说使用 API 接口。

这就好比您拿着钥匙打开了门,得知道怎么在房间里找到您想要的东西。

您得清楚每个接口的功能和返回的数据含义。

比如说,有个接口是获取天气信息的,那它返回的数据可能包括温度、天气状况、风力等等。

使用的时候,还得注意错误处理。

万一接口返回了错误信息,您得知道怎么去解决。

就像您在房子里遇到了个小麻烦,得有应对的办法。

总之,在插件中设置和使用 API 接口,虽然有点小复杂,但只要您有耐心,仔细琢磨,多尝试,肯定能搞定。

就像我那次比赛,一开始也是手忙脚乱,但后来静下心来,一点点弄清楚,最终还是顺利完成了任务。

相信您也一定行!。

德邦快递单号查询接口对接教程

德邦快递单号查询接口对接教程
"AcceptStation": "快件在深圳,准备送往下一站深圳集散中心[深圳市]",
"Remark": null
},
{
"AcceptTime": "2014/06/25 10:23:03",
"AcceptStation": "派件已签收[深圳市]",
"Remark": null
},
{
"AcceptTime": "2014/06/25 10:23:03",
"AcceptStation": "签收人是:已签收[深圳市]",
"Remark": null
}
]
}
【JAVA快递单号查询接口Demo示例】,其他Demo去快递鸟官网下载
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
"LogisticCode": "118461988807",
"Success": true,
"State": 3,
"Reason": null,
"Traces": [
{
"AcceptTime": "2014/06/25 08:05:37",
"AcceptStation": "正在派件..(派件人:邓裕富,电话:1*********0)[深圳市]",

PI实时数据库API,SDK接口调用说明

PI实时数据库API,SDK接口调用说明

调用API步骤VB6:VB6代码示例:其中pilog为返回值,各个含义可以查找PIAPI帮助,举例如下:>0 System Error0 Success-1 Attempt to reconnect within 60 seconds orsocket_open has failed-994 Incompatible PINET protocol version-1001 Default host not foundVB6函数声明:'Use this function to establish a connection to the default pi home node server if calling from a pi client node.Private Declare Function piut_connect Lib "piapi32.dll" (ByVal servername$) As Long'This function logs the user into a PI Server. A login is required to gain access to protected PI data.Private Declare Function piut_login Lib "piapi32.dll" (ByVal username$, ByVal password$, valid&) As Long'This function parses the passed time string and returns the pi local time.Private Declare Function pitm_parsetime Lib "piapi32.dll" (ByVal timestr$, ByVal reltime&, timedate&) As Long'This function adds a new value to the Archive, or it replaces a value if one exists at the same time stamp.Private Declare Function piar_putvalue Lib "piapi32.dll" (ByVal pt&, ByVal rval!, ByVal iStat&, ByVal timedate&, ByVal wait&) As Long'This function returns the point number for the given tagname.Private Declare Function pipt_findpoint Lib "piapi32.dll" (ByVal TagName$, pt&) As Long'This function returns a single value and status for a specified time stamp.Private Declare Function piar_value Lib "piapi32.dll" (ByVal pt&, timedate&, ByVal Mode&, rval!, iStat&) As Long'This function sends a value to the Snapshot and Archive.Private Declare Function pisn_putsnapshot Lib "piapi32.dll" (ByVal pt&, ByVal rval!, ByVal iStat&, ByVal timedate&) As Long'This function retrieves the most recent value sent to the pi System for a particular point.Private Declare Function pisn_getsnapshot Lib "piapi32.dll" (ByVal pt&, rval!, iStat&, timedate&) As Long编程步骤:用其他语言编写接口可参考下面的步骤来实施,具体语法及API函数声明根据所用的语言来编写。

ECB数据仓库API接口使用指南说明书

ECB数据仓库API接口使用指南说明书

Package‘ecb’April20,2023Type PackageTitle Programmatic Access to the European Central Bank's StatisticalData WarehouseVersion0.4.2Date2023-04-20Description Provides an interface to the'European Central Bank's StatisticalData Warehouse'API<https://sdw.ecb.europa.eu/>,allowing for programmaticretrieval of a vast quantity of statistical data.License CC0URL https://sdw.ecb.europa.eu/Suggests knitr,rmarkdown,dplyr,lubridate,ggplot2,testthat,zooImports curl,rsdmx,xml2,httrVignetteBuilder knitrRoxygenNote7.1.1NeedsCompilation noAuthor Eric Persson[aut,cre]Maintainer Eric Persson<*******************>Repository CRANDate/Publication2023-04-2016:32:34UTCR topics documented:convert_dates (2)get_data (2)get_dataflows (4)get_description (4)get_dimensions (5)Index61convert_dates Format date variable retrieved from the SDW into a proper date vari-ableDescriptionFormat date variable retrieved from the SDW into a proper date variableUsageconvert_dates(x)Argumentsx A vector of datesValueA date-formatted vectorExampleshicp<-get_data("ICP.M.U2.N.000000.4.ANR")hicp$obstime<-convert_dates(hicp$obstime)str(hicp)get_data Retrieve data from the ECB Statistical Data Warehouse APIDescriptionRetrieve data from the ECB Statistical Data Warehouse APIUsageget_data(key,filter=NULL,...)Argumentskey A character string identifying the series to be retrievedfilter A named list with additionalfilters(see details)...Arguments passed to GET(e.g.timeout(10)to add maximum request time)DetailsThe filter option of get_data()takes a named list of key-value pairs.If left blank,it returns all data for the current version.Availablefilter parameters:•startPeriod&endPeriod–YYYY for annual data(e.g.:2013)–YYYY-S[1-2]for semi-annual data(e.g.:2013-S1)–YYYY-Q[1-4]for quarterly data(e.g.:2013-Q1)–YYYY-MM for monthly data(e.g.:2013-01)–YYYY-W[01-53]for weekly data(e.g.:2013-W01)–YYYY-MM-DD for daily data(e.g.:2013-01-01)•updatedAfter–A timestamp to retrieve the latest version of changed values in the database since a certainpoint in time–Example:filter=list(updatedAfter=2009-05-15T14:15:00+01:00)•firstNObservations&lastNObservations–Example:filter=list(firstNObservations=12)retrieves thefirst12observationsof all specified series•detail–Possible options:full/dataonly/serieskeysonly/nodata–dataonly is the default–Use serieskeysonly or nodata to list series that match a certain query,without returningthe actual data–An alternative to using serieskeys/nodata is the convenience function get_dimensions(),which returns a list of dataframes with dimensions and explanations(see extended exam-ple below).–full returns both the series values and all metadata.This entails retrieving much moredata than with the‘dataonly‘option.•includeHistory(not currently implemented)–false(default)returns only version currently in production–true returns version currently in production,as well as all previous versions See the SDW API for more details.ValueA data frameExamples#Get monthly data on annualized euro area headline HICPhicp<-get_data("ICP.M.U2.N.000000.4.ANR")head(hicp)4get_description get_dataflows Retrieve data frame of all datasets in the ECB Statistical Data Ware-houseDescriptionRetrieve data frame of all datasets in the ECB Statistical Data WarehouseUsageget_dataflows(...)Arguments...Arguments passed to GET(e.g.timeout(10)to add maximum request time) ValueA dataframeExamplesdf<-get_dataflows()head(df)get_description Get full,human-readable description of a seriesDescriptionGet full,human-readable description of a seriesUsageget_description(key)Argumentskey A character string identifying the series to be retrievedValueA character vectorExamplesget_description("ICP.M.DE.N.000000+XEF000.4.ANR")get_dimensions5 get_dimensions Retrieve dimensions of series in the ECB’s SDWDescriptionRetrieve dimensions of series in the ECB’s SDWUsageget_dimensions(key,...)Argumentskey A character string identifying the series to be retrieved...Arguments passed to GET(e.g.timeout(10)to add maximum request time)ValueA list of data frames,one for each series retrievedExampleshicp_dims<-get_dimensions("ICP.M.U2.N.000000.4.ANR")hicp_dims[[1]]Indexconvert_dates,2get_data,2get_dataflows,4get_description,4get_dimensions,56。

databus 使用指南

databus 使用指南

databus 使用指南Databus 是一种高效的数据传输解决方案,可以帮助企业实现数据的可靠和实时传输。

本文将为您详细介绍 Databus 的安装、配置和使用方法,帮助您快速上手并充分发挥其优势。

第一部分:安装在使用 Databus 之前,我们首先需要进行安装。

以下是安装 Databus 的步骤:1. 下载 Databus 安装包:您可以从官方网站或其他可信渠道下载Databus 的安装包。

2. 解压安装包:将下载的安装包解压到您选择的目录。

3. 配置环境变量:为了方便使用 Databus,您需要将其所在目录添加至系统的环境变量中。

4. 启动 Databus:通过命令行进入 Databus 的安装目录,并执行启动命令,通常是运行 "databus start"。

5. 验证安装:打开浏览器,输入 "http://localhost:8080",如果能够正常访问 Databus 的管理界面,则说明安装成功。

第二部分:配置在成功安装 Databus 后,我们需要进行一些配置才能让其适应我们的需求。

以下是一些常用的配置项:1. 数据源配置:通过在 Databus 的管理界面添加数据源,您可以指定要传输数据的源。

不同类型的数据源需要配置不同的参数,如数据库连接信息、API 接口等。

2. 目标配置:同样在管理界面中,您可以配置数据传输的目标。

您可以选择将数据传输到其他数据库、数据仓库或者其他数据处理工具中。

3. 数据变换配置:如果您需要对传输的数据进行变换,如数据加密、字段映射等操作,可以在配置文件中进行相应的配置。

4. 安全配置:在生产环境中,为了保护数据的安全性,您可以配置一些安全设置,如身份验证、访问控制等。

第三部分:使用配置完成后,您可以开始使用 Databus 进行数据传输。

下面介绍一些常见的使用方法:1. 启动传输任务:在管理界面中,选择您配置的数据源和目标,创建一个传输任务,并启动它。

indata 主数据 使用手册

indata 主数据 使用手册

indata 主数据使用手册【原创实用版】目录1.indata 主数据使用手册概述2.indata 主数据的功能和特点3.如何使用 indata 主数据4.使用 indata 主数据的注意事项5.结论正文1.indata 主数据使用手册概述indata 主数据使用手册是一本介绍如何使用 indata 主数据的指南。

本手册旨在帮助用户更好地理解和使用 indata 主数据,发挥其在数据管理和分析中的优势。

2.indata 主数据的功能和特点indata 主数据是一款集数据采集、清洗、存储、分析于一体的数据管理工具。

它具有以下功能和特点:(1)数据采集:indata 主数据支持从多种数据源采集数据,包括数据库、API 接口、文件等。

(2)数据清洗:indata 主数据具备数据清洗功能,可以对采集到的数据进行去重、缺失值处理、异常值处理等。

(3)数据存储:indata 主数据支持多种数据存储方式,包括关系型数据库、分布式文件系统、云存储等。

(4)数据分析:indata 主数据提供丰富的数据分析功能,包括统计分析、机器学习、深度学习等。

3.如何使用 indata 主数据(1)安装和配置 indata 主数据:在使用 indata 主数据之前,需要先安装并配置好相关环境。

具体操作可参考官方文档。

(2)连接数据源:在 indata 主数据中,需要添加数据源以连接到采集数据的目标。

根据数据源类型选择相应的连接方式。

(3)创建数据流程:创建数据流程以定义数据的采集、清洗、存储和分析过程。

根据实际需求设置各个环节的参数。

(4)运行数据流程:启动数据流程,indata 主数据将自动执行数据处理任务。

可通过界面查看任务进度和结果。

(5)查看和分析结果:数据流程执行完成后,可通过 indata 主数据界面查看和分析处理结果。

4.使用 indata 主数据的注意事项(1)数据安全:在使用 indata 主数据时,要注意保护数据的安全性,防止数据泄露。

api接口参数问题

api接口参数问题

api接⼝参数问题对于取数据,我们使⽤最多的应该就是get请求了吧。

下⾯通过⼏个⽰例看看我们的get请求参数传递。

1、基础类型参数[HttpGet]public string GetAllChargingData(int id, string name){return "ChargingData" + id;}$.ajax({type: "get",url: "http://localhost:27221/api/Charging/GetAllChargingData",data: { id: 1, name: "Jim", bir: "1988-09-11"},success: function (data, status) {if (status == "success") {$("#div_test").html(data);}}});参数截图效果这是get请求最基础的参数传递⽅式,没什么特别好说的。

2、实体作为参数如果我们在get请求时想将实体对象做参数直接传递到后台,是否可⾏呢?我们来看看。

public class TB_CHARGING{/// <summary>/// 主键Id/// </summary>public string ID { get; set; }/// <summary>/// 充电设备名称/// </summary>public string NAME { get; set; }/// <summary>/// 充电设备描述/// </summary>public string DES { get; set; }/// <summary>/// 创建时间/// </summary>public DateTime CREATETIME { get; set; }}[HttpGet]public string GetByModel(TB_CHARGING oData){return "ChargingData" + oData.ID;} $.ajax({type: "get",url: "http://localhost:27221/api/Charging/GetByModel",contentType: "application/json",data: { ID: "1", NAME: "Jim", CREATETIME: "1988-09-11" },success: function (data, status) {if (status == "success") {$("#div_test").html(data);}}});测试结果由上图可知,在get请求时,我们直接将json对象当做实体传递后台,后台是接收不到的。

apimodelproperty datatype使用

apimodelproperty datatype使用

apimodelproperty datatype使用APImodelproperty是一种在API文档中定义模型属性的注解。

它用于描述模型类中属性的数据类型和其他相关属性。

使用APImodelproperty注解,可以为模型属性指定数据类型、描述信息、默认值、是否必需等属性。

下面是一个示例模型类和使用APImodelproperty注解的例子:```javapublic class User {@APImodelproperty(datatype = "String", description = "User's name", example = "John Doe")private String name;@APImodelproperty(datatype = "int", description = "User's age", example = "25")private int age;@APImodelproperty(datatype = "String", description = "User's email address", required = true)private String email;// getters and setters}```在上述示例中,我们定义了一个User类,其中包含name、age和email这三个属性。

使用APImodelproperty注解为这些属性指定了相关的描述信息和数据类型。

在注解中,datatype属性用于指定属性的数据类型,可以是基本数据类型(如int、float等)或自定义的类名。

description属性可以用于描述属性的含义或作用。

example属性用于提供一个示例值,以便开发者更好地理解和使用这个属性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录1 DATAAPI接口概述 (1)2 DATAAPI接口技术说明 (1)3 DATAAPI接口安装 (2)4 DATAAPI接口函数详述 (2)4.1C ONNECT (2)4.2D ISCONNECT (4)4.3D A TA Q UERY (4)4.4D A TA C OUNT (8)4.5D A TA A PPEND (9)4.6D A TA U PDATE (12)4.7D A TA D ELETE (13)4.8I NFO Q UERY (14)4.9I NFO U PDATE (16)4.10G ET RTL OG (17)5 附录 (20)5.1附录1:接口文件的详细说明 (20)5.2附录2:DEMO演示程序的安装、使用指南 (21)5.3附录3:DA TAAPI接口函数出错说明一览 (23)5.4附录4:DA TAAPI接口使用的数据表示、表、字段等一览 (24)6 FAQ (32)6.1编译VC下的D EMO及RT IME程序时,出现:“FA TAL ERROR C1083:C ANNOT OPEN INCLUDEFILE:'VLD.H':N O SUCH FILE OR DIRECTORY”连接错误: (32)6.2编译J A VE D EMO下的COMMPROJA V A(VC DLL)工程时出现:“FA TAL ERROR C1083:C ANNOTOPEN INCLUDE FILE:'JNI.H':N O SUCH FILE OR DIRECTORY”连接错误: (32)6.3使用彩屏机对一个用户表查询时:D A TA Q UERY(H,(CHAR *)BUF O UT,2*1024*1024,“U SER I NFO”,“*”,“PIN>6666”,“”),过滤条件为:“PIN>6666”,即准备查询考勤号大于6666的人员,为何下列记录会返回? (32)6.4当使用GPRS、串口连接时,A PPEND很多指纹数据时非常慢,如何解决? (33)6.5使用RS232、RS485、UDP连接失败? (33)6.6使用RS232、RS485、UDP连接查询、追加操作时,经常返回-902错误? (34)Dataapi接口使用指南1 dataapi接口概述Dataapi接口是一组功能函数,是在原有脱机通信开发包SDK接口之上,扩展出的另一组函数接口,可以取代原有通信开发包SDK中对考勤机设备控制、数据访问的功能,但使最终应用程序开发用户在访问考勤机时,更直观、更方便、更简洁。

Dataapi接口完成的功能有:查询、计数、追加、更新、删除考勤机内与考勤用户有关的信息;查询、计数、追加、更新、删除机内指纹相关的数据;查询、计数、删除机内用户考勤记录数据;查询、计数、追加、更新、删除考勤机内短信表的数据;查询、计数、追加、更新、删除考勤机内工作表的数据;查询、计数、删除机内管理记录数据;查询、修改考勤机设备有关的信息。

2 dataapi接口技术说明Dataapi接口使最终应用程序开发用户看起来是一组对考勤机内数据Set/Get 的抽象接口,在具体访问考勤用户数据时,类似于在使用最通用的SQL语句。

Dataapi接口在应用程序开发用户眼中看起来更像一个数据库服务器;Dataapi接口独立于HTTP、UDP、RS232/485通信协议,实现了与通信协议无关。

因此该接口适用于目前任何物理连接形式的考勤机;Dataapi接口仅在访问时,和终端访问PC建立连接一次连接,使用完毕后,连接自动断开。

因此,该接口在连接上更安全,更适合业务模型;Dataapi接口程序实现在考勤机内为C语言,在应用程序程序开发端(PC机)采用C语言封装的动态链接库,做到了最高效的访问接口;Dataapi接口在设计伊始参考了SQL,但更考虑到业务中最常用的模型,是精心提炼出来的一组接口,做到了设计、实现、使用三方的平衡。

3 dataapi接口安装Dataapi接口函数存在于文件commpro.dll中,该库依赖于其他几个文件,需要将下列DLL文件一同拷贝到windows下的系统目录(windows XP下为windows/system32):(含Demo的目录是演示程序如何编写,不要拷贝到系统目录)(注:①每个文件功能描述见附录1,②当收到中控科技更新版本的动态库时,注意先将系统目录下的原文件删除,确认删掉后,再拷贝更新版本的DLL)。

含demo的目录是三种流行语言的开发演示程序,均附有源码及丰富的注释,如何正确成功编译它们,参见附录2。

4 dataapi接口函数详述4.1 Connect[函数]DLLIMPORT void * __stdcall Connect(const char *Parameters);[功能]连接到设备,连接成功后返回连接的句柄。

[参数说明]Parameters:[in] 通过Parameter参数指定连接选项,如下列例子:"protocol=RS232,port=COM1,baudrate=115200bps,timeout=50000,passwd=0";"protocol=RS485,port=COM2,baudrate=115200bps,deviceid=1,timeout=50000,"protocol=UDP,ipaddress=192.168.1.201,port=4370,timeout=50000, passwd=0";"protocol=HTTP,ipaddress=192.168.1.201,port=80,name=12345,passwd=12345;"protocol=HTTPS,ipaddress=192.168.1.201,port=80,name=12345,passwd=12345;其中protocol 为使用协议,目前有RS232,RS485,UDP及HTTP(S);port为指定使用的串口;baudrate为波特率;timeout为超时设置,单位为毫秒,例中“timeout=50000”为50秒;deviceid为使用RS485协议时终端设备号;ipaddress为考勤机IP地址;port为使用端口号(端口可以理解为收音机收听广播时使用的不同频率),如果不特别强调,默认为80;name为使用HTTP连接时认证用户名,passwd为连接时使用的密码。

以上参数使用时按照例子中的样式填写。

遇到网络连接质量不好时,应加大timeout的值。

一般的,“timeout=50000”(50秒)可以满足基本网络使用;当查询、追加大量数据经常出现-902错误时,应加大timeout的值,可以设置:“timeout=1200000”(20分钟)。

RS232、RS485、UDP连接时,其passwd=0指的是没有密码(不设置密码),可以不用填写“passwd=0”,但是HTTP、HTTPS连接时一定要填写“passwd=xxx”的设置。

[返回值]连接成功后返回连接句柄,否则返回NULL。

[示例]VC:CString szPara ="protocol=HTTP,ipaddress=192.168.1.201,port=80,name=12345,passwd=12345 ";HANDLE h = Connect(szPara);VB:Private Declare Function Connect Lib "commpro.dll" (ByVal Parameters As String) As Long Dim h As Long '连接设备句柄Dim ret As Long '函数返回h =Connect("protocol=HTTP,ipaddress=192.168.1.213,port=80,name=12345,passwd=12345")MsgBox "Connect return =0x" + Hex(h)Java:commpro2java co = new commpro2java();long h =co.Connect("protocol=HTTP,ipaddress=192.168.1.213,port=80,name=12345,passwd=12345 ");System.out.printf("Return Handle = 0x%x\n", h);如果返回为NULL,程序注意及时终止。

当使用串口(RS232、RS285)及UDP连接时,当考勤机重新启动过,那么客户端应当关闭此次连接,重新建立一次连接;HTTP(S)可以继续使用上次的连接。

4.2 Disconnect[函数]DLLIMPORT void__stdcall Disconnect(void* Handle);[功能]断开与设备的连接。

[参数说明]Handle:[in] 由Connect()成功返回的句柄。

[返回值]无。

[示例]VC:Disconnect(h);VB:Disconnect (h)Java:co.Disconnect(h);[注意事项]一旦成功调用了Connect(),都应该调用Disconnect()函数,释放资源。

4.3 DataQuery[函数]DLLIMPORT int__stdcall DataQuery(void *Handle, char *Buffer, int BufferSize, const char *TableName, const char *FieldNames, const char *Filter, const char *Options);[功能]查询设备中的数据,返回符合条件的记录数。

[参数说明]Handle[in] 由Connect()成功返回的句柄。

Buffer[in] 用于接收返回数据的缓冲区,返回的数据是文本格式的,可能是多条记录,各条记录之间用\r\n(等价于ASCII的值13,10)分隔,各个字段之间用\t(等价于ASCII的值9)分隔。

BufferSize[in] 用于接收返回数据的缓冲区大小。

TableName[in] 数据表名,目前可用的有:用户表:UserInfo;指纹表:FPTemplate;考勤表:Transaction 或者ExtLog;操作表:OpLog;短信表:Sms;工作表:Workcode;组表:Group。

相关文档
最新文档