2

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 の問題のようです。

4

1 に答える 1