업데이트 및 읽기가 정상적으로 작동하는 Classic ASP를 통해 qqlite3 db에 새 레코드를 삽입하는 동안 오류가 발생합니다. 기본적으로 표준에 귀결sqlite windows를 삽입 할 수 없습니다 -
ODBC driver does not support the requested properties.
/engine/includes/ajaxed/class_database/database.asp, line 160
:
connectionString = "DRIVER=SQLite3 ODBC Driver;Database=" & server.mappath("/site.db") & ";LongNames=0;Timeout=1000;NoTXN=0;SyncPragma=NORMAL;StepAPI=0;
set connection = server.createObject("ADODB.connection")
connection.open(connectionString)
set aRS = server.createObject("ADODB.Recordset")
' error raised on next line
aRS.open tablename, connection, adOpenKeyset, adLockPessimistic, adCmdTable
권한이 올바른지은 (기본적으로이 파일은 IUSR 포함, 모두 완벽하게 제어 할 수있다), 그리고 아무 저널링에 DB를 변경 했어 이 문제로 인해 (Exception Message: Some kind of disk I/O error occurred); 기존 레코드에 대한 읽기 및 업데이트가 좋습니다.
현재 버전의 http://www.ch-werner.de/sqliteodbc/ 32 비트 ODBC 드라이버를 사용하고 있습니다.
(adOpenKeyset, adLockOptimistic)와 같은 다른 레코드 세트 옵션을 설정해 보았습니다. 행운, 같은 오류 메시지. 나는 sqliteodbc 코드를 읽고 지원되는 속성 /이 무엇인지 확인하려고 시도했지만이를 해결하지 못했습니다.
귀하의 코드입니다. 그것은 테이블을 검색하고있다. ('tablename'는 실제로 테이블의 이름을 가지고있다.) 아무것도 삽입하지 않습니다. 레코드를 삽입하려면 [INSERT INTO] 문을 실행하기 위해 [ADO Command] (http://msdn.microsoft.com/en-us/library/ms677502) 개체를 사용하지 않는 것이 어떻습니까? –
'Insert into table'은 실제로 작동합니다. 그러나 루프 내에서 'aRS.addNew() .. aRS.update,'와 같은 것을 발급 할 레코드 세트를 가지고 있으면 작동하지 않습니다. 기본적으로 활성 레코드 세트의 지원되는 특성이 무엇인지 파악할 수 없으므로 활성 레코드 세트로 연결할 레코드 세트를 가질 수 없습니다. – frumbert
개인적으로, 나는 무언가에 매달 리지 않고 작동하는 무언가를 가지고 갈 것입니다. 그러나'aRS.Update' 경로를 고수하기를 원한다면, 실패한 코드 (오류 메시지 등 포함)를 보여줄 필요가 있습니다. 즉,'aRS.Open'과'aRS.Update '. 이미 작동중인 코드는 도움이 될 수 없습니다. –