私は、手術のために治療された肺癌患者のFilemaker Pro 12リレーショナルデータベースを持っています。 1人の患者が1つ以上の手術で取り除かれた1つ以上の癌を有することがあるので、患者の特徴/人口統計は1つのテーブル(患者)にあり、それらの手術は患者IDと癌によってリンクされた別のテーブル特性はPatientIDによって識別されるが、がんが除去された手術テーブルのSurgeryIDを介してリンクされた別のテーブル(病理学)にある。SQLデータとODBC接続を使用してRデータフレームをfilemaker Proデータベースに保存できません
私はすべての「がんばっている」データをフラットファイルとしてバックアップしたいと思います。オペレーション)。
私はそのための処置が使用して、患者の病理を3つのFileMakerテーブルをインポートしています
con = odbcConnect("LC", uid = "uid", pwd = "pwd")
PatSurg <-sqlQuery(con, paste("SELECT * FROM Patient P INNER JOIN Treatment T ON P.PatientID = T.PatientID"))
PatPath <-sqlQuery(con, paste("SELECT * FROM Patient P INNER JOIN Pathology H ON P.PatientID = H.PatientID"))
Full <- merge(PatSurg, PatPath, by = intersect(names(PatSurg), names(PatPath)))
View(Full)
これが正常まさに私が空の既存のファイルメーカーに保存するフラットフラットファイルとしてデータフレーム(フル)を作成しましたProデータベースと同一のカラム名を持つテーブルThoracic。
私は、私は、単純な命令試してみようと思いました:
sqlSave(con, Full, tablename = "Thoracic")
をし、エラーが返されました:
Error in sqlSave(con, Full, tablename = "Thoracic") : table ‘Thoracic’ already exists
広まりを、私はテーブル名を落とし、それを再保存:
sqlDrop(con, "Thoracic", errors = FALSE)
sqlSave(con, Full, tablename = "Thoracic")
新しいエラーを返しました:
Error in sqlSave(con, Full, tablename = "Thoracic") : [RODBC] Failed exec in Update HY000 502 [FileMaker][FileMaker] (502): Field failed numeric value validation test
私はsqlQueryコマンドとINSERTを使用するべきですが、SQL/ODBCの式としてRデータフレームを参照する方法がわかりませんでした。私が試した:
sqlQuery(con, "INSERT INTO Thoracic ", Full)
sqlQuery(con, "INSERT INTO Thoracic VALUES", Full)
の両方が返さ:
返さError in if (errors) return(odbcGetErrMsg(channel)) else return(invisible(stat)) : argument is not interpretable as logical In addition: Warning message: In if (errors) return(odbcGetErrMsg(channel)) else return(invisible(stat)) : the condition has length > 1 and only the first element will be used
sqlAppendTable(con, "Thoracic", Full)
を:
返さError in (function (classes, fdef, mtable) : unable to find an inherited method for function ‘sqlAppendTable’ for signature ‘"RODBC"’
sqlQuery(con, "INSERT INTO Thoracic VALUES Full")
:
[1] "42000 8310 [FileMaker][FileMaker] FQL0001/(1:29): There is an error in the syntax of the query." [2] "[RODBC] ERROR: Could not SQLExecDirect 'INSERT INTO Thoracic VALUES Full'"
SQL照会でRデータフレームを「フル」に参照する方法私が見たすべての質問は、OBDCソースからデータフレームへのデータのインポートにのみ関連しています。それは最も簡単なビットです!