ROracle パッケージと DBI パッケージを使用して、Oracle データベースに接続しています。特殊文字を含む挿入ステートメントを実行しようとすると、特殊文字が非特殊文字に変換されます。(私が認識していない「特別な」および「特別ではない」というより正しい用語があると確信しています)。
まず、次の接続を行います。
connection <- dbConnect(
dbDriver("Oracle"),
username = "xxxxx",
password = "xxxxx",
dbname = "xxxx"
)
次に、作成済みのテーブルに対して次の挿入ステートメントを実行します。列 A の型は nvarchar2 です。
dbSendQuery(connection, "insert into TEST_TABLE (A) values('£')")
これが返されるものです:
Statement: insert into TEST_TABLE (A) values('#')
Rows affected: 1
Row count: 0
Select statement: FALSE
Statement completed: TRUE
OCI prefetch: FALSE
Bulk read: 1000
Bulk write: 1000
ご覧のとおり、「£」記号は「#」に置き換えられます。PL/SQL で挿入ステートメントを直接実行できますが、問題はないので、R の問題のようです。