ヘッダーをスキップ
Oracle® Objects for OLE開発者ガイド
11gリリース2 (11.2) for Microsoft Windows
B58887-04
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

ServerTypeプロパティ

説明

SQLまたはPL/SQLバインド変数のOracle外部型を指定します。設計時には使用できず、実行時は読取りおよび書込みができます。

OraParamArrayオブジェクトの場合は読取り専用です。ServerTypeプロパティはAddTableメソッドの中で指定します。

使用方法

oraparameter.ServerType = oracle_type

データ型

Integer

備考

SQLまたはPL/SQL(入出力)バインド変数の外部データ型を指定するために使用します。このプロパティは、SQL文またはPL/SQLブロック内のプレースホルダのデータ型を一致させるために、SQL文またはPL/SQLブロックのローカル解析を実施しないようにするために必要です。

OraParameterオブジェクトがServerTypeBLOBCLOBBFILEOBJECTREFVARRAYまたはNESTED TABLEに設定されていると、他のServerTypeプロパティには変更できません。

次に示すOracleの外部データ型がサポートされています。

定数 内部データ型
ORATYPE_VARCHAR2 1 VARCHAR2
ORATYPE_NUMBER 2 NUMBER
ORATYPE_SINT 3 SIGNED INTEGER
ORATYPE_FLOAT 4 FLOAT
ORATYPE_STRING 5 NULL文字で終了するSTRING
ORATYPE_LONG 8 LONG
ORATYPE_VARCHAR 9 VARCHAR
ORATYPE_DATE 12 DATE
ORATYPE_RAW 23 RAW
ORATYPE_LONGRAW 24 LONG RAW
ORATYPE_UINT 68 UNSIGNED INTEGER
ORATYPE_CHAR 96 CHAR
ORATYPE_CHARZ 97 NULL文字で終了するCHAR
ORATYPE_BFLOAT 100 BINARY_FLOAT
ORATYPE_BDOUBLE 101 BINARY_DOUBLE
ORATYPE_CURSOR 102 PLSQL CURSOR
ORATYPE_MLSLABEL 105 MLSLABEL
ORATYPE_OBJECT 108 OBJECT
ORATYPE_REF 110 REF
ORATYPE_CLOB 112 CLOB
ORATYPE_BLOB 113 BLOB
ORATYPE_BFILE 114 BFILE
ORATYPE_TIMESTAMP 187 TIMESTAMP
ORATYPE_TIMESTAMPTZ 188 TIMESTAMP WITH TIMEZONE
ORATYPE_INTERVALYM 189 INTERVAL YEAR TO MONTH
ORATYPE_INTERVALDS 190 INTERVAL DAY TO SECOND
ORATYPE_TIMESTAMPLTZ 232 TIMESTAMP WITH LOCAL TIME ZONE
ORATYPE_VARRAY 247 VARRAY
ORATYPE_TABLE 248 NESTED TABLE
ORATYPE_RAW_BIN 2000 RAW

これらの値は、ORACLE_BASE\\ORACLE_HOME\oo4o\oraconst.txtファイルにあります。

この例では、AddおよびRemoveパラメータ・メソッド、ServerTypeパラメータ・プロパティ、(ORAEXAMP.SQLにある)ストアド・プロシージャおよびファンクションをコールするExecuteSQLデータベース・メソッドの使用方法を示します。このコードをコピーして、フォームの定義セクションに貼り付けてください。次に[F5]を押します。

Sub Form_Load ()
 
'Declare variables as OLE Objects.
 Dim OraSession As OraSession 
 Dim OraDatabase As OraDatabase 
 Dim OraDynaset As OraDynaset 
 
 'Create the OraSession Object.
 Set OraSession = CreateObject("OracleInProcServer.XOraSession")
 
 'Create the OraDatabase Object.
 Set OraDatabase = OraSession.OpenDatabase("ExampleDb", "scott/tiger", 0&)
 
 'Add EMPNO as an Input/Output parameter and set its initial value.
 OraDatabase.Parameters.Add "EMPNO", 7369, ORAPARM_INPUT
 OraDatabase.Parameters("EMPNO").ServerType = ORATYPE_NUMBER
 
 'Add ENAME as an Output parameter and set its initial value.
 OraDatabase.Parameters.Add "ENAME", 0, ORAPARM_OUTPUT
 OraDatabase.Parameters("ENAME").ServerType = ORATYPE_VARCHAR2
 
 'Add SAL as an Output parameter and set its initial value.
 OraDatabase.Parameters.Add "SAL", 0, ORAPARM_OUTPUT
 OraDatabase.Parameters("SAL").ServerType = ORATYPE_NUMBER
 
 'Execute the Stored Procedure Employee.GetEmpName to retrieve ENAME.
 ' This Stored Procedure can be found in the file ORAEXAMP.SQL.
 OraDatabase.ExecuteSQL ("Begin Employee.GetEmpName (:EMPNO, :ENAME); end;")
 'Display the employee number and name.
 
 'Execute the Stored Function Employee.GetSal to retrieve SAL.
 ' This Stored Function can be found in the file ORAEXAMP.SQL.
 OraDatabase.ExecuteSQL ("declare SAL number(7,2); Begin" & _ 
                ":SAL:=Employee.GetEmpSal (:EMPNO); end;")
 
 'Display the employee name, number and salary.
 MsgBox "Employee " & OraDatabase.Parameters("ENAME").value & ", #" & OraDatabase.Parameters("EMPNO").value & ",Salary=" & OraDatabase.Parameters("SAL").value
 
 'Remove the Parameters.
 OraDatabase.Parameters.Remove "EMPNO"
 OraDatabase.Parameters.Remove "ENAME"
 OraDatabase.Parameters.Remove "SAL"
 
End Sub