文稿inceptor odbc開發(fā)者指南_第1頁
文稿inceptor odbc開發(fā)者指南_第2頁
文稿inceptor odbc開發(fā)者指南_第3頁
文稿inceptor odbc開發(fā)者指南_第4頁
文稿inceptor odbc開發(fā)者指南_第5頁
已閱讀5頁,還剩60頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

TOC\o"1-4"\h\z\u簡 關(guān)于Inceptor 安裝Inceptor 安裝LinuxODBCDriver 配置Inceptor Windows下ODBCDSN的配 Linux下ODBCDSN的配 開啟ODBCDriverManager日 InceptorODBC實 C示例代 C#示例代 PHP示例代 備注和說 ODBCAPI列 ODBC錯誤 客戶服 免本說明書依據(jù)現(xiàn)有信息制作,其內(nèi)容更改,恕不另行通知。星環(huán)信息科技()有限公司在編寫該說的時候已盡最大努力保證其內(nèi)容準(zhǔn)確可靠,但星環(huán)信息科技()有限注釋:Hadoop?和SPARK?是ApacheTM軟件在和其他國家的商標(biāo)或的商標(biāo)。Java?是Oracle公司在和其他國家的商標(biāo)或的商標(biāo)。In?和Xeon?是英特爾公司在、中國和其他國家的商標(biāo)或的商標(biāo)。?2013年-2016年星環(huán)信息科技() ?星環(huán)信息科技(),并保留對本說明書及本的最終解釋權(quán)和修改權(quán)。本說明書的歸星環(huán)信息科技()所有。未得到星環(huán)信息科技()有限公司的,任何人不得以任何方式或形式對本說明書內(nèi)的進(jìn)行、摘錄、備份、修改、、翻譯成其他語言、或?qū)⑵淙炕虿糠钟糜谏虡I(yè)用途。手冊版本版本號T00145-15-發(fā)布日期2016-06-Preface|InceptorODBC是用于Inceptor數(shù)據(jù)庫的驅(qū)動程序,它通過標(biāo)準(zhǔn)的ODBCAPI實現(xiàn)。本手冊將介紹Inceptor安裝Inceptor配置Inceptor2|1關(guān)于Inceptor開放數(shù)據(jù)庫連接(OpenDatabaseConnectivityODBC)提供了一種標(biāo)準(zhǔn)的API(應(yīng)用程序編程接口)方法來訪應(yīng)用程序使用InceptorODBC來從InceptorServer獲取數(shù)據(jù),InceptorODBC會相應(yīng)地和DriverManager通系統(tǒng)如何獲取數(shù)據(jù),應(yīng)用程序只需知道數(shù)據(jù)源名稱(DataSourceName,DSN)。所有的應(yīng)用程序在使斷開和InceptorServerDriver解析數(shù)據(jù)源名稱(DSN)。DSN是讓ODBC應(yīng)用程序和數(shù)據(jù)庫連接的配置文件。一個DSN會配置如下信息:加載/卸載DSN中指定的數(shù)據(jù)庫驅(qū)動,用于ODBCAPIInceptorODBCInceptorODBC驅(qū)動是實現(xiàn)ODBCAPI支持的函數(shù)的庫。它會處理函數(shù)調(diào)用、將SQL語句提交給InceptorDSN動。文檔的配置InceptorODBC中有介紹。Inceptor 4|2.關(guān)于Inceptor安裝Inceptor本章介紹如何安裝InceptorODBC為 打開InceptorWindowsOdbc安裝包,點擊安裝。64位系統(tǒng)可安裝32位ODBC64位ODBC驅(qū)動,因為有驅(qū)動程序“可以看見TranswarpODBCDriverforInceptor驅(qū)動已經(jīng)被正確安裝。安裝LinuxODBCDriverDriver由于Linux系統(tǒng)沒有提供ODBCDriverManager,需要自行,星環(huán)科技推薦使用2.0以上的unixODBC,使安裝ODBCDrivertar-xvzfunixODBC-2.3.2.tar.gzcdunixODBC-2.3.2/makeexportexport測試drivermanagerodbcinstj,DRIVERSSYSTEMDATASOURCES為如下配置:#odbcinst-unixODBCDRIVERS............:/etc/odbcinst.ini①SYSTEMDATASOURCES:/etc/odbc.ini②FILEDATASOURCES..:/etc/ODBCDataSourcesUSERDATASOURCES..:/root/.odbc.iniSQLULENSize.......:8SQLLENSize........:SQLSETPOSIROWSize.:DRIVERS/etc/odbcinst.iniSYSTEMDATASOURCES/etc/odbc.ini安裝ODBC驅(qū)從星環(huán)官網(wǎng)LinuxODBC驅(qū)動程序。地為 安裝driver(以openSuse):rpm-ivhinceptor-odbc-opensuse11-4.5-error:Failedrpmlib(FileDigests)<=4.6.0-1isneededbyinceptor-odbc-opensuse11-在/usr/local/inceptor/下:#lspertiesodbc.ini 6|3.安裝Inceptor[ODBC]TraceFile=/tmp/odbc-driver-manager.logTrace=Yes[TranswarpODBCDriverForInceptor]②Description=TranswarpODBCDriverForInceptor[TranswarpODBCDriverForInceptorDebug]Description=TranswarpODBCDriverForInceptor[ODBC下指定DriverManager信息:TraceYes表明當(dāng)前狀態(tài)打開DriverManager的日志;日志的位置為/tmp/odbc-driver-manager.log。②[TranswarpODBCDriverForInceptor]下的Driver字段指向ODBC的驅(qū)動位Description=LDAPtestDriver=TranswarpODBCDriverForInceptorServer=tw-node1212Hive=HiveServer2Host=12Port=10000Database=defaultMech=NONElog4cplus.rootLogger=ERROR,Rlog4cplus.logger.filelogger=WARN,R%H:%M:%S}[%t]%-5p%c{2}%%%x%%-%m%H:%M:%S}%F:%L安裝InceptorODBC|配置InceptorDataSourceName:DSN的名稱,使用過程中根據(jù)名字指定某一個具體的DSNPort:端,默認(rèn)使用10000InceptorServerType:選擇InceptorServer(InceptorServer1、InceptorServer2),默認(rèn)是用HiveServer1。Mechanism:HiveServer1NONE,HiveServer2(NONE,LDAP,Kerberos)Windows下ODBCDSN的配置 8|4.配置Inceptor首先在彈出的框中,點擊選中“TranswarpODBCDriverforInceptorInceptorServer1配置InceptorODBC|InceptorServer2InceptorServer2在LDAP(用戶 10|4.配置InceptorInceptorServer2在Kerberos模式下的配置。您需要預(yù)先配置好Kerberos,配置過程可參考Kerberos安配置InceptorODBC|12|4.配置InceptorLinux下ODBCDSN的配配置InceptorODBC|[transwarp-hs1]Description=InceptorServer1noauthenticationDriver=TranswarpODBCDriverForInceptorServer=test-02Hive=HiveServer1Host=2Port=10000Database=odbctest[tool_transwarp_64]Description=InceptorServer2noauthenticationDriver=TranswarpODBCDriverForInceptorServer=tw-node1212Hive=HiveServer2Host=12Port=10000Database=defaultMech=NONEDescription=InceptorServer2LDAPDriver=TranswarpODBCDriverForInceptorServer=tw-node1212Hive=HiveServer2Host=12Port=10000Database=odbctestUser=hivePassword=123Mech=LDAPDescription=InceptorServer2KerberosDriver=TranswarpODBCDriverForInceptorServer=baogang2Hive=HiveServer2Host=7Port=10000Realm=TDHFQDN=baogang2Database=odbctestMech=Kerberos①[transwarp-hs1]下配置使用InceptorServer1的DSN②[tool_transwarp_64]下配置使用非安全模式下的InceptorServer2的DSN③[transwarp-hs2-ldap]下配置使用LDAP模式下的InceptorServer2的DSN在#isql14|4.配置Inceptor當(dāng)你在使用ODBC遇到問題或者時,你可以啟用ODBCDriverManager和ODBC各自的日志來追蹤ODBCAPI的調(diào)ODBCDriverManager日志主要描述了應(yīng)用層調(diào)用驅(qū)動的API者unixodbc本身提供。ODBC日志則由ODBC研發(fā)人員自己定義。開啟ODBCDriverManager(T)”O(jiān)DBCDriverManger4.配置InceptorODBC|Linux下,需要將日志選項配置到odbcinst.iniTraceYesNo可以開啟或者關(guān)閉DriverManager的日志,如下所示:TraceFile=/tmp/odbc-driver-manager.logTrace=YesTraceFile則定義日志文件的名稱以及所在開啟ODBC日ODBCDriver的日志由pertiesODBC驅(qū)動的安裝下。即C:\ProgramFiles\TranswarpODBCDriverForInceptorC:\ProgramFiles(x86)\TranswarpODBCDriverForInceptor。下面為一個樣例文件:16|4.配置Inceptorlog4cplus.rootLogger=ERROR,R①log4cplus.logger.filelogger=WARN,Rlog4cplus.logger.ODBC.HANDLER=ERROR,R②[%t]%-5p%c{2}%%%x%%-%m[%l]%nlog4cplus.appender.R.File=C:/tmp/odbc.log③log4cplus.appender.R.layout.ConversionPattern=%p%D{%Y-%m-%d%H:%M:%S}%F:%L“INFO”,“DEBUG”等其他等級。log4cplus.logger.ODBC.HANDLER可改變log“ERROR更改為“INFO”,“DEBUG”等其他等級。ODBCDriver的日志由perties定義,該文件位于 log4cplus.rootLogger=ERROR,R①log4cplus.logger.filelogger=WARN,Rlog4cplus.logger.ODBC.HANDLER=ERROR,R②[%t]%-5p%c{2}%%%x%%-%m[%l]%nlog4cplus.appender.R.File=/tmp/odbc.log③log4cplus.appender.R.layout.ConversionPattern=%p%D{%Y-%m-%d%H:%M:%S}%F:%L“INFO”,“DEBUG”等其他等級。log4cplus.logger.ODBC.HANDLER可改變log“ERROR更改為“INFO”,“DEBUG”等其他等級。配置InceptorODBC|Windows下的配置過default_realm=TDHdns_lookup_realm=falsedns_lookup_kdc=falseticket_lifetime=24hforwardable=trueudp_preference_limit=TDH={kdc=baogang1:88admin_server=baogang1:749}kdc=C:\ProgramData\MIT\Kerberos5\krb5kdc.logadmin_server=C:\ProgramData\MIT\Kerberos5\kadmin.logdefault=C:\ProgramData\MIT\Kerberos5\krb5lib.log格式如下:<ip>為D:\ProgramFiles\TranswarpODBCDriverForInceptor2\Kerberos。Linux下的配置過18|4.配置Inceptordefault=FILE:/var/log/krb5libs.logkdc=FILE:/var/log/krb5kdc.logadmin_server=FILE:/var/log/kadmind.logdefault_realm=TDHdns_lookup_realm=falsedns_lookup_kdc=falseticket_lifetime=24hrenew_lifetime=7dforwardable=trueTDH=kdc=baogang1:88admin_server=baogang1:749}==格式如下:<ip>配置InceptorODBC|InceptorODBC實配置ODBC連接20|5.InceptorODBCInceptorODBC實例|#if(definedWIN32)||(definedWIN64)#include"windows.h"#include<stdio.h>#include<sql.h>*函數(shù)定義參照c.獲取錯誤信息staticextract_error(SQLHANDLEhandle,int{SQLHENVenv;SQLHDBCdbc;SQLHSTMTSQLRETURNret;/*ODBCAPIreturnstatus*/char*conn="DSN=test_inceptor_odbc";SQLCHARoutstr[1024];SQLSMALLINT/*Allocateanenvironmenthandle/*WewantODBC3supportSQLSetEnvAttr(env,SQL_ATTR_ODBC_VERSION,(void*)SQL_OV_ODBC3,/*AllocateaconnectionhandleSQLAllocHandle(SQL_HANDLE_DBC,env,/*ConnecttotheDSNtest_inceptor_odbcret=SQLDriverConnect(dbc,NULL,(SQLCHAR*)conn,SQL_NTS,outstr,sizeof(outstr),&outstrlen,if(SQL_SUCCEEDED(ret)){printf("Returnedconnectionstringwas:\n\t%s\n",outstr);if(ret==SQL_SUCCESS_WITH_INFO){printf("Driverreportedthefollowingdiagnostics\n");extract_error("SQLDriverConnect",dbc,SQL_HANDLE_DBC);}SQLDisconnect(dbc);/*disconnectfromdriver}elsefprintf(stderr,"Failedtoconnect\n");extract_error("SQLDriverConnect",dbc,SQL_HANDLE_DBC);} upallocatedhandles Handle(SQL_HANDLE_DBC,dbc); }#if(definedWIN32)||(definedWIN64)#include"windows.h"22|5.InceptorODBC#include<stdio.h>#include<sql.h>intmain()SQLHENVenv;SQLHDBCchar*conn="DSN=test_inceptor_odbc";SQLHSTMTstmt;SQLRETURNret;/*ODBCAPIreturnstatusSQLSMALLINTcolumns;/*numberofcolumnsinresult-setintrow=/*Allocateanenvironmenthandle/*WewantODBC3supportSQLSetEnvAttr(env,SQL_ATTR_ODBC_VERSION,(void*)SQL_OV_ODBC3,/*AllocateaconnectionhandleSQLAllocHandle(SQL_HANDLE_DBC,env,/*ConnecttotheDSNtest_inceptor_odbc/*Youwillneedtochangetest_inceptor_odbctooneyouhavecreatedandtested*/SQLDriverConnect(dbc,NULL,(SQLCHAR*)conn,SQL_NTS,NULL,0,NULL, /*Allocateastatementhandle/*Retrievealistoftables/*Howmanycolumnsarethere/*Loopthroughtherowsintheresult-setwhile(SQL_SUCCEEDED(ret={SQLUSMALLINTprintf("Row%d\n",/*Loopthroughthecolumnsfor(i=1;i<=columns;{SQLLENindicator;charbuf[512];/*retrievecolumndataasastringret=SQLGetData(stmt,i,SQL_C_CHAR,buf,sizeof(buf),&indicator);if(SQL_SUCCEEDED(ret))/*Handlenullcolumnsif(indicator==SQL_NULL_DATA)strcpy(buf,"NULL");printf("Column%u:%s\n",i,buf);}}} upallocatedhandles Stmt(stmt, Handle(SQL_HANDLE_DBC,dbc); Handle(SQL_HANDLE_ENV,}5.InceptorODBC實例|#if(definedWIN32)||(definedWIN64)#include"windows.h"#include<stdio.h>#include<sql.h>#include<sqlext.h>extract_error(char*fn,SQLHANDLESQLSMALLINTtype){ i= SQLCHARstate[7];SQLCHARtext[256];SQLSMALLINTlen; "Thedriverreportedthefollowingdiagnosticswhilstrunning"{ret=SQLGetDiagRec(type,handle,++i,state,&native,text,sizeof(text),&len);ifprintf("%s:%ld:%ld:%s\n",state,i,native,}while(ret==SQL_SUCCESS}intSQLRETURN /*Assumeforthisexampleweconnectanerrorchar*conn="DSN=test_inceptor_odbcAA";SQLCHARoutstr[1024];SQLSMALLINT/*Allocateanenvironmenthandle/*WewantODBC3supportSQLSetEnvAttr(envh,SQL_ATTR_ODBC_VERSION,(void*)SQL_OV_ODBC3,/*Allocateaconnectionhandle/*ConnecttotheDSNtest_inceptor_odbc/*Youwillneedtochangetest_inceptor_odbctooneyouhavecreatedandtested*/ret=SQLDriverConnect(dbch,NULL,(SQLCHAR*)conn,SQL_NTS,outstr,sizeof(outstr),&outstrlen,if(!SQL_SUCCEEDED(ret)){24|5.InceptorODBC}{}

extract_error("SQLDriverConnectfordbc",dbch,/*DatabasehandleallocatedOK }#if(definedWIN32)||(definedWIN64)#include"windows.h"#include<stdio.h>#include<sql.h>intmain()SQLHENVenv;SQLHDBCchar*conn="DSN=test_inceptor_odbc";SQLHSTMTstmt;SQLRETURNret;/*ODBCAPIreturnstatusSQLSMALLINTcolumns;/*numberofcolumnsinresult-setSQLCHARtable[64SQLCHARcolumn[64];SQLINTEGERtype;SQLLENindicator[3];inti;/*Allocateanenvironmenthandle/*WewantODBC3supportSQLSetEnvAttr(env,SQL_ATTR_ODBC_VERSION,(void*)SQL_OV_ODBC3,/*AllocateaconnectionhandleSQLAllocHandle(SQL_HANDLE_DBC,env,/*ConnecttotheDSNmydsn/*YouwillneedtochangemydsntooneyouhavecreatedandtestedSQLDriverConnect(dbc,NULL,(SQLCHAR*)conn,SQL_NTS,NULL,0,NULL, /*Allocateastatementhandle/*RetrievealistofcolumnsSQLColumns(stmt,NULL,0,NULL,0,(SQLCHAR*)"tablename",SQL_NTS,NULL,0);ret=SQLBindCol(stmt,3,table,sizeof(table),&indicator[0]);ret=SQLBindCol(stmt,4,SQL_C_CHAR, column,sizeof(column),&indicator[1] 5.InceptorODBC實例|ret=SQLBindCol(stmt,5,SQL_C_LONG,&type,0,&indicator[2]/*Fetchthedatawhile(SQL_SUCCEEDED(ret=SQLFetch(stmt))){printf("%s.%stype%d\n",table,column,type);} upallocatedhandles Stmt(stmt, Handle(SQL_HANDLE_DBC,dbc); Handle(SQL_HANDLE_ENV,}CusingusingSystem.Linq;usingSystem.Text;usingSystem.Data;namespace{class{staticvoidMain(string[]{{

mand//connectodbcbyspecifyingDSNOdbcConnectionconnection=//dropstringdropTable="droptableifexiststt";command=new mand(dropTable,connection);//createstringcreateTable="createtablett(c1int,c2int)clusteredby(c1)into1bucketsstoredasorcTBLPROPERTIEScommand=new mand(createTable,connection);//insertstringinsertTable="insertintott(c1,c2)values(?,?)";command=new mand(insertTable,connection);mandType= command.Parameters.AddWithValue("@c1",1);//selectdatawithstringselectTalbe="select*from26|5.InceptorODBCcommand=new mand(selectTalbe,connection);OdbcDataReaderreader=command.ExecuteReader();while(reader.Read()){Console.Out.Write(reader[0].ToString()+"\t");}}

//selectdatawithOdbcDataAdapterda=newSystem.Data.DataSetds=newSystem.Data.DataSet();da.Fill(ds,"tt");foreach(DataRowtheRowds.Tables["tt"].Rows){ +"\t"}//closecatch(Exception{ }}}}import#connectcnxn=pyodbc.connect("DSN=your_inceptor_odbc_data_source_name")cursor=cnxn.cursor()#dropcursor.execute("droptable#createcursor.execute("createtablett(c1int,c2int)clusteredby(c1)into1bucketsstoredasorcTBLProperties(\"transactional\"=\"true\")")#insertdatacursor.execute("insertintottvalues(?,?)",1,1)cursor.execute("insertintottvalues(?,?)",2,2)#selectdatarow=cursor.execute("select*fromtt").fetchone()printrow5.InceptorODBC實例|usestrict;useDBI;mymy$dbh=DBI->connect($data_source,"","",{ mit=>1,PrintError=>subprint"selectdatamy$sth=$dbh->prepare("select*frommy@row;#retrieveonewhile(@row=$sth-{printjoin(",",@row),}}subprint"insertdatamy$sth=$dbh->prepare("insertintottvalues(?,?)");my$p1=1;my$p2=}sub$dbh->do("createtablett(c1int,c2int)clusteredby(c1)into1bucketsstoredasorcTBLProperties(\"transactional\"=\"true\")");}sub$dbh->do("droptable}sub}my$ret=main();28|5.InceptorODBC#inceptor_odbc.rb-simpleIncepotrscriptusingRubyDBI#connecttotheInceptordbh=DBI.connect("dbi:ODBC:your_inceptor_data_source_name","",#createorctransactiondbh.do("createtablerubytest(c1int,c2int)clusteredby(c1)1bucketsstoredasorcTBLProperties#insertsth=dbh.prepare("INSERTINTOrubytest(c1,c2)VALUES(?,1)")#selectsth=dbh.execute("SELECT*FROMrubytest")sth.eachdo|row|printf"c1:%d,c2:%d\n",row[0],row[1]#dropdbh.do("droptablerubytest")rescueDBI::DatabaseError=>eputs"Anerroroccurred"puts"Errorcode:#{e.err}"puts"Errormessage:#{e.errstr}"#disconnectfromdbh.disconnectifInceptorODBC實例|<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Strict//EN" <html "xml:lang="en"<title>PHPandODBC:XHTMLExample$conn=odbc_connect("your_inceptor_data_source_name","","");if(!($conn)){echo"<p>ConnectiontoDBviaODBCfailed:";echoodbc_errormsg($conn);echo}$create_table="createtablephptest(c1int,c2string)clusteredby(c1)into1bucketsstoredasorcTBLProperties$success=$rs=odbc_exec($conn,"insertintophptestvalues$rs=odbc_exec($conn,"select*fromphptest");echo"<table><tr>";echo"<th>Test</th></tr>";{$result=odbc_result($rs,"c2");}odbc_do($conn,"droptablephptest");echo30|5.InceptorODBCODBCAPI本節(jié)按功能總結(jié)InceptorODBC對ODBCAPI的支持。若需要完整的ODBCAPI手冊,請參考 1(ConnectToADataISOObtainsanenvironment,connection,statement,ordescriptorhandle.ISOConnectstoaspecificdriverbydatasourcename,userID,andpassword.ConnectstoaspecificdriverbyconnectionstringorrequeststhattheDriverManageranddriverdisyconnectiondialogboxesfortheReturnssuccessivelevelsofconnectionattributesandvalidattributevalues.Whenavaluehasbeenspecifiedforeachconnectionattribute,connectstothedatasource.Deprecated(RecedbyObtainsanenvironmenthandleallocatedfromDeprecated(RecedbySQLAllocHandle)ObtainsaconnectionDeprecated(RecedbyObtainsastatement2(ObtainingInformationAboutADriverandDataISOReturnsthelistofavailabledatasources,handledbytheDriverManager.Returnsthelistofinstalleddriversandtheirattributes,handlesbyDriverManager.ISOReturnsinformationaboutaspecificdriveranddatasource.ISOReturnssupporteddriver備注和說明|ISOReturnsinformationaboutsupporteddata3Attribute(SettingandRetrievingDriverISOSetsaconnectionISOReturnsthevalueofaconnectionISOSetsanenvironmentISOReturnsthevalueofanenvironmentISOSetsastatementISOReturnsthevalueofastatementDeprecated(RecedbySetsaconnectionDeprecated(RecedbyReturnsthevalueofaconnectionDeprecated(RecedbySQLSetStmtAttr)SetsastatementDeprecated(RecedbySQLGetStmtAttr)ReturnsthevalueofastatementDeprecated(RecedbySetsastatement4DescriptorField(SettingandRetrievingDescriptorISOReturnsthevalueofasingledescriptorISOReturnsthevaluesofmultipledescriptorISOSetsasingledescriptorISOSetsmultipledescriptorISOCopiesdescriptorinformationfromonedescriptorhandletoanother.5SQL請求(PreparingSQLISOPreparesanSQLstatementforlaterAssignsstorageforaparameterinanSQL32|6.備注和說明ISOReturnsthecursornameassociatedwithastatementhandle.ISOSpecifiesacursorSetsoptionsthatcontrolcursorDeprecated(RecedbySQLBindParameter)AssignsstorageforaparameterinanSQL6(SubmittingISOExecutesapreparedISOExecutesaReturnsthetextofanSQLstatementastranslatedbythedriver.Returnsthedescriptionforaspecificparameterinastatement.NotsupportedbyConnector/ODBC—thereturnedresultsshouldnotbetrusted.ISOReturnsthenumberofparametersinaISOUsedinconjunctionwithSQLPutDatatosupplyparameterdataatexecutiontime.(Usefulforlongdatavalues.)ISOSendspartorallofadatavalueforaparameter.(Usefulforlongdatavalues.)Deprecated(RecedbyCommitsorrollsbacka7(RetrievingResultsAndInformationAboutISOReturnsthenumberofrowsaffectedbyaninsert,update,ordeleterequest.ISOReturnsthenumberofcolumnsintheresultISODescribesacolumnintheresultISODescribesattributesofacolumnintheresultISOReturnsmultipleresultISOReturnsscrollableresult6.備注和說明|Positionsacursorwithinafetchedblockofdataandenablesanapplicationtorefreshdataintherowsetortoupdateordeletedataintheresultset.Performsbulkinsertionsandbulkbookmarkoperations,includingupdate,delete,andfetchbybookmark.Determineswhethertherearemoreresultsetsavailableand,ifso,initializesprocessingforthenextresultset.ISOReturnsadditionaldiagnosticinformation(asinglefieldofthediagnosticdatastructure).ISOReturnsadditionaldiagnosticinformation(multiplefieldsofthediagnosticdataISOAssignsstorageforaresultcolumnandspecifiesthedatatype.ISOReturnspartorallofonecolumnofonerowofaresultset.(Usefulforlongdatavalues.)Deprecated(RecedbyReturnserrororstatusDeprecated(RecedbySQLColAttribute)DescribesattributesofacolumnintheresultDeprecated(RecedbySQLFetchScroll)Returnsscrollableresult8(ObtainingInformationAboutTheDataSource’sSystemTables(CatalogReturnsalistofcolumnsandassociatedprivilegesforoneormoretables.OpenReturnsthelistofcolumnnamesinspecifiedReturnsalistofcolumnnamesthatmakeupforeignkeys,iftheyexistforaspecifiedReturnsthelistofcolumnnamesthatmakeuptheprimarykeyforatable.34|6.備注和說明OpenReturnsinformationabouttheoptimalsetofcolumnsthatuniquelyidentifiesarowinaspecifiedtable,orthecolumnsthatareautomaticallyupdatedwhenanyvalueintherowisu

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論