2011-07-18 24 views
2

私は、Microsoft SQL Server形式でエクスポートされた保存済み.SQLファイルを読み取ることができるMacOS iODBCドライバを探していました。誰かが存在しますか?SQLコマンドテキストファイルを読み込むMacOS ODBCドライバはありますか?

one appに格納された膨大なデータがExcelスプレッドシートまたはSQLファイル(SQL CREATE TABLEINSERTの完全なテキストファイルなど)としてエクスポートできます。このデータをMacOS上で動作するanother app(Stata 9)にインポートし、Excelファイル、独自のフォーマット、またはODBCソースからインポートする必要があります。だから、私はそのソースとしてプレーンSQLファイルを読むことができるODBCドライバが必要です。 MSSQLデータベースと実際に通信するドライバは必要ありません。なぜなら、ここに実際のデータベースがないからです。 MSSQL形式のコマンドを含む単純な.SQLファイルです。

残念ながら、デフォルトのMacOSインストールには、フラットファイルやSQLiteデータベースを読み込むためのODBCドライバもありません。

、ExcelスプレッドシートとしてDatStatからのエクスポート—このデータを移動そのスプレッドシートを開き、のStataのニーズに適合するように手で固定し、その後、保存しStata —に再インポートするための現在のワークフローは、途方もなく、労働集約的であり、また失っ変数の説明や注釈のような重要なメタデータがたくさんあります。

+0

Macには 'sqlite3'が付いています。 '/ usr/bin'にあります。 – Yuji

+0

@Yuji ODBCドライバはどこにありますか?私はODBCアドミニストレータでそれを見つけることができません。 – Crashworks

+0

'sqlite3'はSQLiteのSQLを解釈してファイルに書き出します...それで十分ではありませんか? Excelファイルを自動的に変更するためのExcelマクロの作成はどうですか? – Yuji

答えて

2

ここでは、DatStatからデータベースにデータをロードし、Stataにロードすることをお勧めします。まず、DatStatから.sqlファイルにデータをエクスポートします。私はDatStatに慣れていませんが、一括して、またはコマンドラインを使ってこれを行うことができれば、それが最適です。 -shell-コマンドを使ってStataのOSの端末にアクセスすることができます。 .sqlファイル(例えばfoo.sql)を作成したら、次のStataコードを使用してデータベースに送信し、Stataにインポートすることができます。

odbc sqlfile("foo.sql"), dsn("DataSourceName") 
odbc load, exec("SELECT * FROM CustomerTable") dsn("DataSourceName") 

あなたは再び、このデータベースを使用しますと、あなたはそれがスペースを占有したくないとは思わない場合でも、クリーンアップにデータベース内のテーブルを最後のコマンドを発行することができます。はい、あなたのデータセットが大きい場合、これはおそらく遅くなりますが、あなたのデータがデータベースになると、あなたが代わりにインポート時にその一部を照会することができますので、それはいいかもしれない

odbc exec("DROP TABLE CustomerTable") 

:のようなものを使用します全部。

最後に、Mac用のODBCドライバがMS SQL Server用に存在しないと述べました。そのような場合は、MySQLやPostgreSQLなどのオープンソースのデータベースシステムの1つをインストールすることができます。私はMacユーザーではありませんが、これらのドライバはMac用に存在する必要があります。

幸運を祈る!

+0

'odbc sqlfile'が動作しない場合(私にとってはそうではありませんでした)、StataのMySQLバッチモード' shell mysql

関連する問題