Tabellen-Hyperlink für den Datenzugriff verwenden
Tabellen-Hyperlink-Daten werden abgerufen und im JSON-Format zurückgegeben und paginiert.
Tabellen-Hyperlink-Daten können im Tabellenformat angezeigt werden, wenn Sie über einen Browser darauf zugreifen. Weitere Informationen finden Sie unter Tabellenhyperlinks für den Zugriff auf Daten im Tabellenformat verwenden.
Sie können über einen Browser oder einen beliebigen REST-Client auf Tabellen-Hyperlink-Daten zugreifen. Die zurückgegebenen Daten werden paginiert, damit Sie auf maximal 100 Datensätze gleichzeitig zugreifen können, wobei die Gesamtdatengröße in der Antwort auf 1 MB begrenzt ist. Sie können den Abfrageparameter limit
angeben, um die Anzahl der abgerufenen Datensätze zu begrenzen. Der Abruf von Tabellen-Hyperlink-Daten wird blockiert, wenn die Authentifizierung des Tabellen-Hyperlinks fehlschlägt oder der angeforderte Tabellen-Hyperlink abgelaufen ist.
Beispiel: Verwenden Sie einen Tabellen-Hyperlink:
curl https://dataaccess.adb.us-chicago-1.oraclecloudapps.com/adb/p/K6XExample/data
Die Antwort "Tabellen-Hyperlink" enthält Links für vorherige oder nächste Seiten, wenn die Daten mehr als eine Seite umfassen. Dadurch können Sie beim Abrufen von Daten in beide Richtungen navigieren. Die JSON enthält auch einen self
-Link, der auf die aktuelle Seite verweist, sowie ein hasMore
-Attribut, das angibt, ob mehr Daten zum Abrufen verfügbar sind.
Das Antwortformat lautet wie folgt:
{
"items": [], <-- Array of records from database
"hasMore": true OR false, <-- Indicates if there are more records to fetch or not
"limit": Number, <-- Indicates number of records in the page. Maximum allowed number is 100.
"offset": Number, <-- Offset indicating the start of the current page
"count": Number, <-- Count of records in the current page
"links": [
{
"rel": "self",
"href": "{Link to table hyperlink url for the current page}"
},
{
"rel": "previous",
"href": "{Link to table hyperlink url for the previous page}"
},
{
"rel": "next",
"href": "{Link to table hyperlink url for the next page}"
}
]
}
Beispiel: Im Folgenden finden Sie eine Beispielantwort von einem Tabellen-Hyperlink (mit neuen Zeilen zur Übersichtlichkeit hinzugefügt):
{"items":[
{"COUNTY":"Main","SPECIES":"Alder","HEIGHT":45},
{"COUNTY":"First","SPECIES":"Chestnut","HEIGHT":51},{"COUNTY":"Main","SPECIES":"Hemlock","HEIGHT":17},
{"COUNTY":"Main","SPECIES":"Douglas-fir","HEIGHT":34},{"COUNTY":"First","SPECIES":"Larch","HEIGHT":12},
{"COUNTY":"Main","SPECIES":"Cedar","HEIGHT":21},{"COUNTY":"First","SPECIES":"Douglas-fir","HEIGHT":10},
{"COUNTY":"Main","SPECIES":"Yew","HEIGHT":11},{"COUNTY":"First","SPECIES":"Willow","HEIGHT":17},
{"COUNTY":"Main","SPECIES":"Pine","HEIGHT":29},{"COUNTY":"First","SPECIES":"Pine","HEIGHT":16},
{"COUNTY":"First","SPECIES":"Spruce","HEIGHT":6},{"COUNTY":"Main","SPECIES":"Spruce","HEIGHT":8},
{"COUNTY":"First","SPECIES":"Hawthorn","HEIGHT":19},{"COUNTY":"First","SPECIES":"Maple","HEIGHT":16},
{"COUNTY":"Main","SPECIES":"Aspen","HEIGHT":35},{"COUNTY":"First","SPECIES":"Larch","HEIGHT":27},
{"COUNTY":"First","SPECIES":"Cherry","HEIGHT":20},{"COUNTY":"Main","SPECIES":"Pine","HEIGHT":37},
{"COUNTY":"Main","SPECIES":"Redwood","HEIGHT":78},{"COUNTY":"Main","SPECIES":"Alder","HEIGHT":45},
{"COUNTY":"First","SPECIES":"Chestnut","HEIGHT":51},{"COUNTY":"Main","SPECIES":"Hemlock","HEIGHT":17},
{"COUNTY":"Main","SPECIES":"Douglas-fir","HEIGHT":34},{"COUNTY":"First","SPECIES":"Larch","HEIGHT":12},
{"COUNTY":"Main","SPECIES":"Cedar","HEIGHT":21},{"COUNTY":"First","SPECIES":"Douglas-fir","HEIGHT":10},
{"COUNTY":"Main","SPECIES":"Redwood","HEIGHT":78}],
"hasMore":false,
"limit":100,
"offset":0,
"count":30,
"links":
[
{"rel":"self",
"href":"https://dataaccess.adb.us-ashburn-1.oraclecloudapps.com/adb/p/F5Sn..._example/data"}
]}
Tabellen-Hyperlink für den Zugriff auf Daten mit Bind-Variablen verwenden
Wenn eine Bind-Variable in der SELECT
-Anweisung beim Generieren eines Tabellen-Hyperlinks vorhanden ist, müssen Sie entweder den Parameter default_bind_values
verwenden, wenn Sie den Tabellen-Hyperlink generieren, um einen Standard-Bind-Variablenwert anzugeben, oder Sie müssen einen Bind-Variablenwert als Abfrageparameter übergeben, um auf die Tabellen-Hyperlink-Daten zuzugreifen.
Die Unterstützung von Bind-Variablen ist für die Spaltentypen NUMBER
und VARCHAR2
verfügbar.
Beispiel: Wenn ein Tabellen-Hyperlink mit der folgenden SQL-Anweisung ohne den Parameter default_bind_values
generiert wird:
sql_statement = 'SELECT * FROM TREE_DATA WHERE COUNTY = :countyName'
Sie müssen eine Bind-Variable anhängen und einen Wert als Abfrageparameter angeben, um auf die Daten zuzugreifen. Beispiel:
curl https://dataaccess.adb.us-chicago-1.oraclecloudapps.com/adb/p/K6X...example/data?countyNAME=MAIN
Der Bind-Wert muss nicht in der URL angegeben werden, wenn die DBMS_DATA_ACCESS.GET_PREAUTHENTICATED_URL
den Parameter default_bind_values
enthält:
sql_statement = 'SELECT * FROM TREE_DATA WHERE COUNTY = :countyNAME',
default_bind_values => '{"countyNAME" : "First"}',
Wenn default_bind_values
einen Wert für eine Variable definiert, müssen Sie den Wert nicht als Abfrageparameter angeben (der Standardwert wird angegeben):
curl https://dataaccess.adb.us-chicago-1.oraclecloudapps.com/adb/p/K6X...example/data
{"items":[
{"COUNTY":"First","SPECIES":"Pine","HEIGHT":16},
{"COUNTY":"First","SPECIES":"Spruce","HEIGHT":6},
{"COUNTY":"First","SPECIES":"Hawthorn","HEIGHT":19},
{"COUNTY":"First","SPECIES":"Cherry","HEIGHT":20},
{"COUNTY":"First","SPECIES":"Chestnut","HEIGHT":51}],
"hasMore":false,
"limit":100,
"offset":0,
"count":6,
"links":
[
{"rel":"self",
"href":"https://dataaccess.adb.us-ashburn-1.oraclecloudapps.com/adb/p/gTlbq...example/data"}
]}
Wenn default_bind_values
einen Bind-Variablenwert definiert, können Sie den Bind-Variablenwert außer Kraft setzen, indem Sie explizit einen Wert als Abfrageparameter angeben. Beispiel:
curl https://dataaccess.adb.us-chicago-1.oraclecloudapps.com/adb/p/K6X...example/data?countyNAME=MAIN
Weitere Informationen finden Sie unter Prozedur GET_PREAUTHENTICATED_URL.
Übergeordnetes Thema: Tabellenhyperlinks für schreibgeschützten Datenzugriff in Autonomous Database verwenden