Я хочу исследовать, как получить доступ к SQLite DB из SAS. Какой самый простой способ сделать это? Есть ли продукт SAS, который мы можем лицензировать для этого? Я не хочу использовать драйверы ODBC, поскольку это, кажется, давно написано и официально не является частью SQLite.Какой самый простой способ использовать SQLite с SAS?
ответ
только что наткнулся на это в моих RSS-каналах, не уверен, что это то, что вам нужно или нет.
Это очень хорошо, но я надеялся, что смогу найти способ, чтобы он использовал двигатель SQlite, чтобы можно было обрабатывать большие наборы данных быстрее. Спасибо хоть. – xiaodai
Ссылка мертва и недоступна через archive.org. EDIT: Однако это цитируется [Макросы сообщают SQLite и SAS без ODBC] (http://blog.sasanalysis.com/2011/05/macros-communicate-sqlite-and-sas.html?_escaped_fragment_=#!), которые могут быть одинаково полезными. – eenblam
Я ткнул немного больше. Автор оригинальной цитаты, WenSui Liu, довольно часто публикует [новый блог] (https://statcompute.wordpress.com/). К сожалению, сообщения, похоже, не архивируются до 2012 года. – eenblam
SAS поддерживает чтение данных из труб (в среде UNIX). По сути, вы можете настроить оператор имени файла для выполнения команды sqlite в среде хоста, а затем обработать вывод команды, как если бы он читал его из текстового файла. страница
SAS Поддержка: http://support.sas.com/documentation/cdl/en/hostunx/61879/HTML/default/viewer.htm#pipe.htm
Пример:
*----------------------------------------------
* (1) Write a command in place of the file path
* --> important: the 'pipe' option makes this work
*----------------------------------------------;
filename QUERY pipe 'sqlite3 database_file "select * from table_name"';
*----------------------------------------------
* (2) Use a datastep to read the output from sqlite
*----------------------------------------------;
options linesize=max; *to prevent truncation of results;
data table_name;
infile QUERY delimiter='|' missover dsd lrecl=32767;
length
numeric_id 8
numeric_field 8
character_field_1 $40
character_field_2 $20
wide_character_field $500
;
input
numeric_id
numeric_field $
character_field_1 $
character_field_2 $
wide_character_field $
;
run;
*----------------------------------------------
* (3) View the results, process data etc.
*----------------------------------------------;
proc contents;
proc means;
proc print;
run;
Позвольте мне увидеть, если я получаю это ... драйвер ODBC SQLite не является официальной частью SQLite, так что вы хотите посмотреть, если вы можете заплатить деньги SAS, чтобы они могли дать вам что-то вроде ODBC-драйвера для SQLite, который ... ну, также официально не является частью SQLite? Серьезно, я не вижу проблем с использованием стороннего продукта, если признаки того, что продукт используется достаточным количеством людей, достаточно сильны. Если вам все еще кажется неудобным, я бы, вероятно, предложил экспортировать данные из SQLite на какую-то платформу, с которой вам удобно. –
Согласен. Экспортируйте данные из базы данных SQLite в то, что вы можете получить таким образом, чтобы вы были довольны. SAS имеет (или имеет, в любом случае, долгое время отсутствие SAS) разъемы для десятков источников данных. – DaveE
Или используйте общий драйвер ODBC. Вы можете посмотреть ConnectionStrings.com, чтобы убедиться, что кто-то уже решил вашу настройку - я вижу 6 ссылок для SQLite. – DaveE