2012-06-05 107 views
0

這對我來說是全新的,請大家耐心等待吧!在linux上運行vb腳本框

我有一種情況,我們在網站上收集數據並將其發送到Web服務器上的MySQL表中。這個信息從web服務器發送到Linux上的mySQL表格,我相信通過Linux盒子上的某種導入腳本。

上週我們的linux服務器掛了,現在導入腳本不工作。我有一個import.txt文件,我需要重新啓動(我相信),但不知道如何去做。

我在網上進行了研究,但我只能看到有關.sh文件的信息。

謝謝!

這就是我需要運行是否有幫助:

Public Sub ImportPubOrders() 
Dim rsCopy1 As Recordset, rsCopy2 As Recordset, rsCopy3 As Recordset 
Dim strSQL As String, strCriteria As String, strODBCdate As String 
Dim lngFound As Long 
On Error GoTo ErrorHandler 

Set wrkODBC = CreateWorkspace("ODBCWorkSpace", "pubadmin", "Abo1prA5", dbUseODBC) 
Set MySQLConn = wrkODBC.OpenConnection("ODBC;DSN=publications;DESC=MySQL ODBC 3.51 Driver DSN;DATABASE=publications;SERVER=10.116.11.2;UID=pubadmin;PASSWORD=Abo1prA5;PORT=3306;OPTION=3;STMT=;") 
MySQLConn.QueryTimeout = 180 

strODBCdate = Format(DateAdd("d", -1, Date), "yyyy-mm-dd") 
'strODBCdate = "2009-03-11" 

'Copy records from More.net PRO to DBSRVR 
Set OAwrkODBC = CreateWorkspace("ODBCWorkSpace", "sslAGOmySQL", "k4-4js94nd", dbUseODBC) 
Set OAMySQLConn = OAwrkODBC.OpenConnection("ODBC;DSN=OA_generalPRO;DESC=MySQL ODBC 3.51 Driver DSN;DATABASE=www_ago_mo_gov_ssl_data;SERVER=db.kinetic.more.net;UID=sslAGOmySQL;PASSWORD=k4-4js94nd;PORT=3306;OPTION=3;STMT=;") 

strSQL = "LOCK TABLE orders_contacts READ, orders_ids READ, orders_items READ, orders_order READ" 
OAMySQLConn.Execute (strSQL) 

    'Check if there are orders to download 
    strCriteria = "DATE_FORMAT(orders_order.order_date, '%Y-%m-%d') = " & Chr(34) & strODBCdate & Chr(34) 
    strSQL = "SELECT form_id FROM orders_order WHERE " & strCriteria 
    OAMySQLConn.Execute (strSQL) 
    lngFound = OAMySQLConn.RecordsAffected 

    'Orders have been submitted and need to be downloaded 
    If lngFound >= 1 Then 
     strSQL = "SELECT form_id, contact_id, DATE_FORMAT(order_date, '%Y-%m-%d %T') AS order_date FROM orders_order WHERE " & strCriteria 
     Set rsCopy1 = OAMySQLConn.OpenRecordset(strSQL) 
     Do While Not rsCopy1.EOF 
      strSQL = "INSERT INTO orders_order (form_id, contact_id, order_date) " & _ 
       "VALUES (" & rsCopy1!form_id & ", " & rsCopy1!contact_id & ", " & Chr(34) & rsCopy1!order_date & Chr(34) & ")" 
      MySQLConn.Execute (strSQL) 
      rsCopy1.MoveNext 
     Loop 
     rsCopy1.Close 

     strSQL = "SELECT item_id, orders_items.form_id, pub_name, quantity " & _ 
      "FROM orders_items INNER JOIN orders_order ON orders_items.form_id = orders_order.form_id " & _ 
      "WHERE " & strCriteria 
     Set rsCopy2 = OAMySQLConn.OpenRecordset(strSQL) 
     Do While Not rsCopy2.EOF 
      strSQL = "INSERT INTO orders_items (item_id, form_id, pub_name, quantity) " & _ 
       "VALUES (" & rsCopy2!item_id & ", " & rsCopy2!form_id & ", " & Chr(34) & rsCopy2!pub_name & Chr(34) & ", " & rsCopy2!quantity & ")" 
      MySQLConn.Execute (strSQL) 
      rsCopy2.MoveNext 
     Loop 
     rsCopy2.Close 

     strSQL = "SELECT orders_contacts.contact_id, orders_contacts.form_id, org_name, first_name, last_name, address1, address2, city, state, " & _ 
      "zip, email, phone, DATE_FORMAT(date_added, '%Y-%m-%d %T') AS date_added " & _ 
      "FROM orders_contacts INNER JOIN orders_order ON orders_contacts.contact_id = orders_order.contact_id " & _ 
      "WHERE " & strCriteria 
     Set rsCopy3 = OAMySQLConn.OpenRecordset(strSQL) 
     Do While Not rsCopy3.EOF 
      strSQL = "INSERT INTO orders_contacts (contact_id, form_id, org_name, first_name, last_name, address1, " & _ 
       "address2, city, state, zip, email, phone, date_added) " & _ 
       "VALUES (" & rsCopy3!contact_id & ", " & rsCopy3!form_id & ", " & Chr(34) & rsCopy3!org_name & Chr(34) & _ 
       ", " & Chr(34) & rsCopy3!first_name & Chr(34) & ", " & Chr(34) & rsCopy3!last_name & Chr(34) & _ 
       ", " & Chr(34) & rsCopy3!address1 & Chr(34) & ", " & Chr(34) & rsCopy3!address2 & Chr(34) & _ 
       ", " & Chr(34) & rsCopy3!city & Chr(34) & ", " & Chr(34) & rsCopy3!state & Chr(34) & _ 
       ", " & Chr(34) & rsCopy3!zip & Chr(34) & ", " & Chr(34) & rsCopy3!email & Chr(34) & _ 
       ", " & Chr(34) & rsCopy3!phone & Chr(34) & ", " & Chr(34) & rsCopy3!date_added & Chr(34) & ")" 
      MySQLConn.Execute (strSQL) 
      rsCopy3.MoveNext 
     Loop 
     rsCopy3.Close 

    Else 
     DoCmd.Hourglass False 
     Dim RS0 As Recordset 
     Set RS0 = CurrentDb.OpenRecordset("log_Errors") 
     RS0.AddNew 
      RS0("error_loc") = "ZERO publication orders submitted online for " & strODBCdate 
      RS0("error_time") = Now() 
     RS0.Update 
     RS0.Close 
     Set RS0 = Nothing 
    End If 

strSQL = "UNLOCK TABLES" 
OAMySQLConn.Execute (strSQL) 

DoCmd.Hourglass False 

Dim RS10 As Recordset 
Set RS10 = CurrentDb.OpenRecordset("log_Errors") 
RS10.AddNew 
    RS10("error_loc") = "Import publications completed without error" 
    RS10("error_time") = Now() 
RS10.Update 
RS10.Close 
Set RS10 = Nothing 

DoCmd.SetWarnings True 
Exit Sub 

ErrorHandler: 
DoCmd.Hourglass False 
    Dim RS2 As Recordset 
    Set RS2 = CurrentDb.OpenRecordset("log_Errors") 
    RS2.AddNew 
     RS2("error_loc") = "procedure ImportPubOrders" 
     RS2("error_num") = Err.Number 
     RS2("error_desc") = Err.Description 
     RS2("error_time") = Now() 
    RS2.Update 
    RS2.Close 
    Set RS2 = Nothing 

Set rsCopy1 = Nothing 
Set rsCopy2 = Nothing 
Set rsCopy3 = Nothing 
DoCmd.SetWarnings True 

末次

回答

0

你將不得不使用第三方庫,Linux不支持的VBScript。你確定它有.txt擴展名嗎?如果是這樣,關於VBScript是什麼?

+0

它可能是VB而不是VB腳本。它肯定有一個.txt擴展名,所以我不知道如何運行它。寫這個的人離開了辦公室。 – badD0g01

0

這是Visual Basic。 VBScript不支持「On Error GoTo [label]」語句。