Используя R, я хотел бы взять файлы PDF и сохранить их в поле varbinary(max) сервера sql в виде массива байтов. Я буду использовать rodbc для вставки данных. Я застрял в том, как прочитать файл и преобразовать его в массив байтов, прежде чем передавать его в rodbc. На какие функции мне следует обратить внимание?
R прочитать файл PDF и преобразовать его в массив байтов для хранения на сервере sql
Ответы (1)
Вероятно, существует больше, чем один способ снять шкуру с этой кошки, но я делал это в прошлом.
myPdf <- file("test.pdf", "rb")
myBinVec <- readBin(myPdf, raw(), n=1000000) #N needs to be larger than your file.
myBase64 <- rawToBase64(myBinVec)
Затем вставьте base64 в SQL-сервер и используйте X-Query для преобразования base64 в varbinary, как показано здесь: https://blog.falafel.com/t-sql-easy-base64-encoding-and-decoding/
Это обратный процесс, который мы используем для чтения PDF-файлов (и аналогичный процессу, который мы использовали для их вставки, хотя они приходят к нам уже в кодировке base64). Я хотел бы отметить, что вы можете вставить двоичный файл ?raw()
непосредственно в SQL или преобразовать его в R в varbinary, однако я никогда не проверял это.
person
Ian Wesley
schedule
22.11.2017
tabulizer
. - person Mako212   schedule 22.11.2017pdftools
- person Mako212   schedule 22.11.2017