mysql - 使用VBScript将客户端安装的软件信息存储到MySQL中?

标签 mysql vbscript

我需要将已安装的应用程序信息获取到MySQL数据库中,在网上搜索了几个小时后,我得到了下面的vb脚本。它应该有两个功能

  1. 它应该将数据保存到文本文件中,并且
  2. 第二是它应该写入MySQL数据库。

我得到了第一个,但第二个它抛出了错误

Object doesn't support this property or method : 'Execute'

code : 800A01B6

我使用的代码是

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.CreateTextFile("c:\scripts\software.tsv", True)

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
  & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colSoftware = objWMIService.ExecQuery _
  ("Select * from Win32_Product")

objTextFile.WriteLine "Caption" & vbtab & _
  "Description" & vbtab & "Identifying Number" & vbtab & _
  "Install Date" & vbtab & "Install Location" & vbtab & _
  "Install State" & vbtab & "Name" & vbtab & _ 
  "Package Cache" & vbtab & "SKU Number" & vbtab & "Vendor" & vbtab _
    & "Version" 

Dim objConnection
Dim objRecordSet
Set objConnection = CreateObject("ADODB.Connection")
Set objRecordSet = CreateObject("ADODB.Recordset")
connectionString = "Driver={MySQL ODBC 5.1 Driver};Server=localhost;Database=testing;User=root; Password=******;"
objConnection.Open  connectionString  

For Each objSoftware in colSoftware
  objTextFile.WriteLine objSoftware.Caption & vbtab & _
  objSoftware.Description & vbtab & _
  objSoftware.IdentifyingNumber & vbtab & _
  objSoftware.InstallDate2 & vbtab & _
  objSoftware.InstallLocation & vbtab & _
  objSoftware.InstallState & vbtab & _
  objSoftware.Name & vbtab & _
  objSoftware.PackageCache & vbtab & _
  objSoftware.SKUNumber & vbtab & _
  objSoftware.Vendor & vbtab & _
  objSoftware.Version

objRecordSet.Execute "INSERT INTO Computers (Caption, Description, IdentifyingNumber, InstallDate2,InstallLocation,InstallState,Name,PackageCache,SKUNumber, Vendor, Version)"&"VALUES (objSoftware.Caption & vbtab &, objSoftware.Description & vbtab &, objSoftware.IdentifyingNumber & vbtab &, objSoftware.InstallDate2 & vbtab &, objSoftware.InstallLocation & vbtab &, objSoftware.InstallState & vbtab &, objSoftware.Name & vbtab &, objSoftware.PackageCache & vbtab &, objSoftware.SKUNumber & vbtab &, objSoftware.Vendor & vbtab &, objSoftware.Version)", objConnection, adOpenStatic, adLockOptimistic

Next
objTextFile.Close
objConnection.Close

最佳答案

该错误是由于 Recordset 对象没有 .Execute 方法引起的。理论上,您应该使用 Recordset.Open 或 Connection.Execute 来执行(参数)查询/语句。

看看您在 INSERT 语句中造成的困惑,我建议您将 .TXT 数据LOAD DATA INFILE 到您的 DBMS 中。

参见:

  1. load data infile
  2. execute

关于mysql - 使用VBScript将客户端安装的软件信息存储到MySQL中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20242267/

相关文章:

php - 在 PHP MySQL 中使用 jQuery AJAX 提交表单而不重新加载

php - 如何编写一个 mysql 查询来选择所有商店(纬度和经度) ORDER BY 更接近您的位置

java - 无法将 JDBC 驱动程序添加到库范围

c# - 使用 C# 运行 VBScript

javascript - 从 XSLT 调用函数错误 : Namespace does not contain any functions

windows - 在 Windows 文件夹和子文件夹中动态和递归搜索字符串

HTTP GET 请求,ASP - 我迷路了!

php - 使用 php 将 .xml 的一部分导入到 sql 数据库

mysql - 如果它不存在,则将列添加到 mysql 表

vbscript - 在 VBScript 中向字符串添加引号