데이터베이스에서 속성을 읽는 스크립트를 만듭니다. 프로젝트 아키텍처로 인해 JS에서 구현되는 것이 가장 쉽습니다.IndexedDB "요청한 데이터베이스 객체를 찾을 수 없으므로 작업을 수행하지 못했습니다."
IndexedDB를 사용하고 있는데 데이터베이스를 찾을 수 있지만 objectStore에서 속성을 가져 오려고하면 오류가 발생합니다 (테이블에 액세스 할 수없는 것 같습니다) :
Firefox : "NotFoundError : 요청한 데이터베이스 개체를 찾을 수 없기 때문에 작업을 수행하지 못했습니다. 예를 들어 개체 저장소가 없지만 열었습니다."
크롬 : NotFoundError : 'IDBDatabase'에서 'transaction'을 실행하지 못했습니다. 지정한 개체 저장소 중 하나를 찾을 수 없습니다.
내 코드 :
var request = window.indexedDB.open("/app_name/database.sqlite", 1);
request.onsuccess = function(event) {
console.log("Found Database");
db = event.target.result;
var transaction = db.transaction(["TABLE"], "readonly");
var objectStore = transaction.objectStore("TABLE");
var ob = objectStore.get(String(ATTRIBUTE));
ob.onsuccess = function(e) {
console.log("Got ATTRIBUTE")
}
ob.onerror = function(e) {
console.log("Have not got ATTRIBUTE")
}
}
request.onerror = function(event) {
console.log("Database not found");
}
오류 라인 var transaction = db.transaction(["TABLE"], "readonly");
에 발생합니다.
테이블이 존재합니다. 데이터베이스가 뷰어에서 열릴 때 속성이 있습니다.
나는 새로운 객체 저장소를 만들지 않고 단지 하나만 읽으려고하기 때문에 .onupgradeneeded
을 사용하지 않았습니다.