¿Cómo copiar de una base de datos a un archivo de texto usando VBScript?
-
05-07-2019 - |
Pregunta
Tengo un ejemplo en código C #, pero está usando streamWriter
. Debe involucrarse con el rito FileSystemObject
. En caso afirmativo, ¿qué métodos debo usar? Quiero codificar usando VBScript WSH , y mi base de datos es MS SQL Server 2005 .
Cualquier solución, referencia o guía son útiles.
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();
}
}
Solución
En VBScript necesita los objetos ADODB y el FileSystemObject
de la biblioteca Scripting
. Algo parecido a: -
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
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow