Ich versuche, SQL Server 2012 zu verwenden, das auf Windows Server 2012 R2 ausgeführt wird, um einen verknüpften Filemaker 13-Server zu aktualisieren. Meine Select-Abfragen und Updates/Inserts in meine SQL Server-Tabellen von Filemaker funktionieren. Allerdings, wenn ich versuche und aktualisieren Filemaker von SQL Server erhalte ich die folgende Fehlermeldung:Transaktion kann nicht mehrere Re-Cord-Sets mit diesem Cursortypfehler haben Update Filemaker-Verbindungsserver von 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".
ich die folgende Abfrage bin mit dem Update auszuführen:
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'
ich float
da angeblich am Casting der number
field in Filemaker entspricht ODBC SQL_DOUBLE
das ist equivalent to SQL Server'sfloat
und ich ziehe von decimal
Felder in SQL Server.
Ich habe RPC
, RPC Out
und Use Remote Collation
alle aktiviert für den Verbindungsserver, die alle für die Durchführung von Updates benötigt werden.
Warum erhalte ich diesen Fehler?