2009-12-30 4 views
2

Je veux étudier comment accéder à SQLite DB à partir de SAS. Quelle est la manière la plus simple de le faire? Existe-t-il un produit SAS que nous pouvons autoriser à faire cela? Je ne veux pas utiliser les pilotes ODBC car cela semble avoir été écrit il y a longtemps et ne fait pas officiellement partie de SQLite.Quelle est la manière la plus simple d'utiliser SQLite avec SAS?

+1

Permettez-moi de voir si je reçois ce ... le pilote ODBC SQLite est pas officiellement partie de SQLite, de sorte que vous voulez regarder si vous le pouvez payer de l'argent à SAS afin qu'ils puissent vous donner quelque chose comme un pilote ODBC pour SQLite qui est ... eh bien, ne fait pas officiellement partie de SQLite? Sérieusement, je ne vois aucun problème à utiliser un produit tiers, tant que les indications que le produit est utilisé par suffisamment de personnes est assez forte. Si vous vous sentez encore mal à l'aise avec cela, je suggérerais probablement d'exporter les données de SQLite vers une plate-forme avec laquelle vous vous sentez à l'aise. –

+0

Je suis d'accord. Exportez les données de la base de données SQLite vers quelque chose auquel vous pouvez accéder comme vous le souhaitez. SAS a (ou a eu, de toute façon - longtemps pas de SAS) des connecteurs pour des dizaines de sources de données. – DaveE

+1

Ou utilisez un pilote ODBC générique. Vous pouvez regarder ConnectionStrings.com pour voir si quelqu'un a déjà résolu votre installation - je vois 6 références pour SQLite. – DaveE

Répondre

0

vient de traverser ceci dans mes flux rss, je ne sais pas si c'est ce que vous cherchez ou non.

SAS MACRO IMPORTING SQLITE DATA TABLE WITHOUT ODBC

+0

C'est très bien, mais j'espérais pouvoir trouver un moyen d'utiliser le moteur de SQlite pour que les grands ensembles de données puissent être traités plus rapidement. Merci quand même. – xiaodai

+0

Le lien est mort et indisponible via archive.org. EDIT: Cependant, il est cité par [Macros communiquent SQLite et SAS sans ODBC] (http://blog.sasanalysis.com/2011/05/macros-communicate-sqlite-and-sas.html?_escaped_fragment_=#!), qui peut être également utile. – eenblam

+0

Je fourré un peu plus. L'auteur de la citation originale, WenSui Liu, publie assez fréquemment sur un [nouveau blog] (https://statcompute.wordpress.com/). Malheureusement, les publications ne semblent pas être archivées avant 2012. – eenblam

4

SAS prend en charge la lecture de données à partir de tuyaux (dans un environnement UNIX). Essentiellement, vous pouvez configurer une instruction de nom de fichier pour exécuter une commande sqlite dans l'environnement hôte, puis traiter la sortie de la commande comme si elle était lue à partir d'un fichier texte.

Page SAS Support: http://support.sas.com/documentation/cdl/en/hostunx/61879/HTML/default/viewer.htm#pipe.htm

Exemple:

*---------------------------------------------- 
* (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; 
Questions connexes