Windows Server 2012 R2에서 실행되는 SQL Server 2012를 사용하여 연결된 Filemaker 13 서버를 업데이트하려고합니다. 내 선택 쿼리 및 업데이트/Filemaker 작업에서 내 SQL Server 테이블에 삽입합니다. 그러나, 나는 시도하고 SQL 서버에서 파일 메이커를 업데이트 할 때 다음과 같은 오류 얻을 :트랜잭션에서이 커서 유형 오류가있는 여러 레코드 집합을 가질 수 없습니다. Filemaker SQL Server 2012에서 연결된 서버를 업데이트하십시오.
OLE DB provider "MSDASQL" for linked server "CET_REGISTRATIONS" returned message "Unspecified error".
OLE DB provider "MSDASQL" for linked server "CET_REGISTRATIONS" returned message
"Transaction cannot have multiple recordsets with this cursor type. Change the cursor type, commit the transaction, or close one of the recordsets.".
Msg 7330, Level 16, State 2, Line 1
Cannot fetch a row from OLE DB provider "MSDASQL" for linked server "CET_REGISTRATIONS".
I 업데이트 수행하기 위해 다음 쿼리를 사용하고 있습니다 :
update OPENQUERY(CET_REGISTRATIONS,
'select "Current",
"Term ID",
"_kp_ClassByStudentID",
"_kr_StudentID",
"DE_r_task1",
"DE_r_task2",
"DE_w_task1",
"DE_w_task2",
"DE_w_task3",
"DE_w_task4",
"DE_w_task5",
"DE_l_task1",
"DE_l_task2",
"DE_s_task1",
"DE_s_task2",
"DE_s_task3",
"DE_r_final",
"DE_w_final",
"DE_l_final",
"DE_s_final",
"DE_o_final_total"
from "Class by Student"')
set [DE_r_task1] = CAST(read_test1_Scaled as float),
[DE_r_task2] = cast(read_test2_scaled as float),
[DE_w_task1] = cast(writ_literatureReview as float),
[DE_w_task2] = cast(writ_exposition as float),
[DE_w_task3] = cast(writ_groupReport as float),
[DE_w_task4] = cast(writ_synthSummary as float),
[DE_w_task5] = cast(writ_critEvaluation as float),
[DE_l_task1] = cast(list_test1_scaled as float),
[DE_l_task2] = cast(list_test2_scaled as float),
[DE_s_task1] = cast(speak_groupPres as float),
[DE_s_task2] = cast(speak_indivPres as float),
[DE_s_task3] = cast(speak_tutorialDiscus as float),
[DE_r_final] = cast(read_total as float),
[DE_w_final] = cast(writ_total as float),
[DE_l_final] = cast(list_total as float),
[DE_s_final] = cast(speak_total as float),
[DE_o_final_total] = cast(overall_total as float)
from OPENQUERY(CET_REGISTRATIONS,
'select "Current",
"Term ID",
"_kp_ClassByStudentID",
"_kr_StudentID",
"DE_r_task1",
"DE_r_task2",
"DE_w_task1",
"DE_w_task2",
"DE_w_task3",
"DE_w_task4",
"DE_w_task5",
"DE_l_task1",
"DE_l_task2",
"DE_s_task1",
"DE_s_task2",
"DE_s_task3",
"DE_r_final",
"DE_w_final",
"DE_l_final",
"DE_s_final",
"DE_o_final_total"
from "Class by Student"') filemaker
inner join dbo.termData
on filemaker.[_kp_ClassByStudentID] = termData.StbyCurrentClassID
inner join dbo.DEC10assessmentDataNumeric local_table
on local_table.studentID = termData.studentID
where local_table.[studentID] = 34114 and local_table.[assessmentLookup] = 3 and
termData.[termID] = '316a'
나는 가정으로부터 float
에 캐스팅 오전 number
field in Filemaker은 SQL_DOUBLE
인 equivalent to SQL Server'sfloat
과 같으며 SQL Server의 decimal
필드에서 가져옵니다.
나는 연결된 서버에서 모두 활성화 된 RPC
, RPC Out
및 Use Remote Collation
입니다. 업데이트를 수행하는 데 모두 필요한 것으로 알고 있습니다.
왜이 오류는 무엇입니까?
당신이 이미하지 않은 경우