Как скопировать из базы данных в текстовый файл с помощью VBScript? - PullRequest
1 голос
/ 10 сентября 2009

У меня есть пример в коде C #, но он использует streamWriter. Это должно быть связано с FileSystemObject обрядом. Если да, какие методы мне следует использовать? Я хочу кодировать, используя VBScript WSH , и моя база данных MS SQL Server 2005 .

Любое решение, ссылки или руководство полезны.

using (StreamWriter tw = File.AppendText("c:\\INMS.txt"))
{
    using (SqlDataReader reader = cmd.ExecuteReader())
    {
        tw.WriteLine("id, ip address, message, datetime");
        while (reader.Read())
        {
            tw.Write(reader["id"].ToString());
            tw.Write(", " + reader["ip"].ToString());
            tw.Write(", " + reader["msg"].ToString());
            tw.WriteLine(", " + reader["date"].ToString());
        }
        tw.WriteLine("Report Generate at : " + DateTime.Now);
        tw.WriteLine("---------------------------------");
        tw.Close();
        reader.Close();
    }
}

1 Ответ

3 голосов
/ 10 сентября 2009

В VBScript вам нужны объекты ADODB и FileSystemObject из библиотеки Scripting. Что-то похожее на: -

Dim conn: Set conn = CreateObject("ADODB.Connection")
conn.Open "an ole DB mysql connection string", usernameIfneeded, passwordIfNeeded

Dim cmd : Set cmd = CreateObject("ADODB.Command")
Set cmd.ActiveConnection = conn
cmd.CommandText = "your SQL code here"
cmd.CommantType = 1 ''# adCmdText Command text is a SQL query

Dim rs : Set rs = cmd.Execute

Dim fs : Set fs = CreateObject("Scripting.FileSystemObject")
Dim textStream : Set textStream = fs.OpenTextFile("c:\inms.txt", 8, True)
textStream.WriteLine "id, ip address, message, datetime"
Do Until rs.EOF

   textStream.Write rs("id") & "," 
   textStream.Write rs("ip") & "," 
   textStream.Write rs("msg") & "," 
   textStream.WriteLine rs("date")   

  rs.MoveNext
Loop

textStream.Close
rs.Close
conn.Close
...