Date: Fri, 22 Feb 2002 22:09:28 +0900
From: Kenji Tani <who@example.co.jp>
From: 辻 保宏<who@example.co.jp>
Date: Thu, 8 Nov 2001 09:29:56 +0900
Message-ID: who@sub.example.jp
Subject: [ml-msde:00836] ADOを使用したインポート / エクスポート
谷です。
> SQL Serverで管理されているデータを、VBからADOを使用して
> テキストファイルにエクスポートしたいのですが、実現方法に解らず
> 苦慮しています。
ものすごく遅い返信ですが。。
VB であれば、SQL DMO を使用すれば可能です。
WSH のサンプルでよければ、下記を参照して下さい。
こういう話ではないですか?
Dim oServer ' SQL Server オブジェクト
Dim oDatabase ' 使用するターゲットのデータベース
Dim oBCP ' BCP オブジェクト
Dim nRows ' BCP から返される行数
Dim table ' テーブル オブジェクト
Dim spath ' 保存先
'================================
' 保存先パスを決定
'================================
spath = "D:\"
' 最初の引数はデータベースである必要があります。
If WScript.Arguments(0) = "" then
WScript.Echo "接続するデータベースを設定していません。"
WScript.Quit
End if
' SQL DMO のインスタンスを作成します。
Set oServer = WScript.CreateObject("SQLDMO.SQLServer")
' SQL DMO BulkCopy オブジェクトのインスタンスを作成します。
Set oBCP = WScript.CreateObject("SQLDMO.BulkCopy")
oServer.EnableBcp = True
' ローカルサーバーに、sa 、パスワードなしで接続しています。
oServer.Connect ".", "sa" ,""
' 指定されたデータベースに接続します。
Set oDatabase = oServer.Databases(Wscript.Arguments(0))
' 区切り文字にカンマを設定します。
' テキスト修飾子はなし
' 行区切りは、{CR}{LF}
oBCP.ColumnDelimiter = vbComma
oBCP.DataFileType = 1 'SQLDMODataFile_CommaDelimitedChar
oBCP.ImportRowsPerBatch = 1000
oBCP.MaximumErrorsBeforeAbort = 1
oBCP.RowDelimiter = vbCrLf
oBCP.ServerBCPDataFileType = 1 'SQLDMOBCPDataFile_Char
oBCP.UseExistingConnection = True
'すべてのテーブルをダンプします。
For Each Table in oDatabase.Tables
' テーブルがシステム テーブルでないことを確認します。
If Table.systemobject = False Then
oBCP.DataFilePath = spath & Table.Name & ".csv"
nRows = Table.ExportData(oBCP)
Wscript.Echo nRows & " 行が " & Table.Name & _
" からエクスポートされました" & VbCrLf & _
"保存先パス: " & oBCP.DataFilePath
End if
Next
'後始末
oDatabase = ""
Set oDatabase = Nothing
oBCP = ""
Set oBCP = Nothing
oServer = ""
Set oServer = Nothing
--
With best regards.
Kenji Tani
Otsuka Corp. Kansai Technical Solution Center
Phone: 06-6456-2640 Fax: 06-6456-2619
Email: who@example.co.jp
[MSDE/SQLServerに関して、今、どんなことにお困りですか?] |
よろしければお困りの内容を、電子メールで教えて下さい。 |
質問を電子メールで作成する
|
[ウィンドを閉じる][MSDE/SQLServer FAQ ][MSDE / MSDE2000 技術サポート情報一覧]
|