- path = "C:\Program Files\SASHome\x86\SASEnterpriseGuide\4.3\Sample\Data"
- filename = "Candy_Sales_Summary"
- WScript.Echo "Path specified: " & path
- WScript.Echo "File name : " & filename
- ' Check registry for SAS Local Provider
- Set WSHShell = CreateObject("WScript.Shell")
- clsID = WSHShell.RegRead("HKEY_CLASSES_ROOT\sas.LocalProvider\CLSID\")
- 'clsID = WSHShell.RegRead("HKCRSAS.LocalProviderCLSID")
- WScript.Echo "DIAGNOSTICS: SAS.LocalProvider CLSID is " & clsID
- inProcServer = WSHShell.RegRead("HKCR\CLSID\" & clsID & "\InprocServer32\")
- WScript.Echo "DIAGNOSTICS: Registered InprocServer32 DLL is " & inProcServer
- ' Constants for ADO calls
- Const adOpenDynamic = 2
- Const adLockOptimistic = 3
- Const adCmdTableDirect = 512
- ' Instantiate the provider object
- Set obConnection = CreateObject("ADODB.Connection")
- Set obRecordset = CreateObject("ADODB.Recordset")
- obConnection.Provider = "SAS.LocalProvider"
- obConnection.Properties("Data Source") = path
- obConnection.Open
- obRecordset.Open filename, obConnection, adOpenDynamic, adLockOptimistic, adCmdTableDirect
- 'Report on Fields in this data set
- WScript.Echo ""
- WScript.Echo "Opened data " & filename & ", Record count: " & obRecordset.RecordCount
- For Each Field In obRecordset.Fields
- If Field.Type = 5 Then pType = "Numeric"
- If Field.Type = 200 Then pType = "Character"
- WScript.Echo Field.Name & " " & pType
- Next
- obRecordset.Close
- obConnection.Close
SASプログラムとログを解析するユーティリティを開発するための備忘録です。This is a memo to develop utility that analyzes the SAS log.
2013年2月9日土曜日
Peek at your data using VBScript, OLE DB, and the SAS local data provider
SAS Local Data Providerを使って、SASデータセットの情報を読み取るサンプルコードです。元ネタはココですが、貼り付けるときにバックスラッシュが化けたのかそのままでは動きませんでした。少し手直ししています。SAS.EXEを起動しなくてもOKというのが軽くて良いのですが、果たして何に使うかは思案中です。Delphiで作るツールに役立つかも。
登録:
コメントの投稿
(
Atom
)
0 件のコメント :
コメントを投稿