2009-12-30 2 views
2

Я хочу исследовать, как получить доступ к SQLite DB из SAS. Какой самый простой способ сделать это? Есть ли продукт SAS, который мы можем лицензировать для этого? Я не хочу использовать драйверы ODBC, поскольку это, кажется, давно написано и официально не является частью SQLite.Какой самый простой способ использовать SQLite с SAS?

+1

Позвольте мне увидеть, если я получаю это ... драйвер ODBC SQLite не является официальной частью SQLite, так что вы хотите посмотреть, если вы можете заплатить деньги SAS, чтобы они могли дать вам что-то вроде ODBC-драйвера для SQLite, который ... ну, также официально не является частью SQLite? Серьезно, я не вижу проблем с использованием стороннего продукта, если признаки того, что продукт используется достаточным количеством людей, достаточно сильны. Если вам все еще кажется неудобным, я бы, вероятно, предложил экспортировать данные из SQLite на какую-то платформу, с которой вам удобно. –

+0

Согласен. Экспортируйте данные из базы данных SQLite в то, что вы можете получить таким образом, чтобы вы были довольны. SAS имеет (или имеет, в любом случае, долгое время отсутствие SAS) разъемы для десятков источников данных. – DaveE

+1

Или используйте общий драйвер ODBC. Вы можете посмотреть ConnectionStrings.com, чтобы убедиться, что кто-то уже решил вашу настройку - я вижу 6 ссылок для SQLite. – DaveE

ответ

0

только что наткнулся на это в моих RSS-каналах, не уверен, что это то, что вам нужно или нет.

SAS MACRO IMPORTING SQLITE DATA TABLE WITHOUT ODBC

+0

Это очень хорошо, но я надеялся, что смогу найти способ, чтобы он использовал двигатель SQlite, чтобы можно было обрабатывать большие наборы данных быстрее. Спасибо хоть. – xiaodai

+0

Ссылка мертва и недоступна через archive.org. EDIT: Однако это цитируется [Макросы сообщают SQLite и SAS без ODBC] (http://blog.sasanalysis.com/2011/05/macros-communicate-sqlite-and-sas.html?_escaped_fragment_=#!), которые могут быть одинаково полезными. – eenblam

+0

Я ткнул немного больше. Автор оригинальной цитаты, WenSui Liu, довольно часто публикует [новый блог] (https://statcompute.wordpress.com/). К сожалению, сообщения, похоже, не архивируются до 2012 года. – eenblam

4

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;