我们公司运行Linux和Windows服务器的混合环境(Windows上的帐户端,Linux上的订单端)。我们必须在这些系统之间同步一些有关客户帐户的信息。
以下是我们在Windows服务器上安排的一个脚本,用于将客户帐户信息导出到文本文件,然后由Linux服务器获取并导入。
我想做的是,为了提高工作流程并提高速度,还要在脚本中对Linux服务器进行SQL更新,而不是导出然后等待Linux服务器收集它。
有可能吗?
我的经验主要在于Linux脚本(bash等),但我确实设法在一些帮助下编写了下面的脚本。
Option Explicit
Dim sDir : sDir = "\\Server\Data"
Dim sCS : sCS = Join(Array( _
"Provider=vfpoledb" _
, "Data Source=" & sDir _
, "Collating Sequence=general" _
), ";")
Dim oCN : Set oCN = CreateObject("ADODB.CONNECTION")
oCN.Open sCS
Dim oRS : Set oRS = oCN.Execute("SELECT SN_ANALSYS, SN_CRLIM, SN_CURRBAL FROM " & WScript.Arguments(0) & "_SNAME.DBF WHERE SN_ANALSYS != '' ORDER BY SN_ANALSYS ASC")
Do Until oRS.EOF
WScript.Echo oRS.Fields(0).value, "50", oRS.Fields(1).Value
WScript.Echo oRS.Fields(0).value, "51", oRS.Fields(2).Value
oRS.MoveNext
Loop
oCN.Close
Option Explicit
Dim sDir : sDir = "\\Server\Data"
Dim sCS : sCS = Join(Array( _
"Provider=vfpoledb" _
, "Data Source=" & sDir _
, "Collating Sequence=general" _
), ";")
Dim oCN : Set oCN = CreateObject("ADODB.CONNECTION")
oCN.Open sCS
Dim oRS : Set oRS = oCN.Execute("SELECT SN_ANALSYS, SN_CRLIM, SN_CURRBAL FROM " & WScript.Arguments(0) & "_SNAME.DBF WHERE SN_ANALSYS != '' ORDER BY SN_ANALSYS ASC")
Do Until oRS.EOF
//
// make connection to Oracle SQL server on Linux server
// run update statement using oRS.Fields
//
oRS.MoveNext
Loop
oCN.Close
我已经在Windows服务器上安装了Oracle Instant Client,因为我们将其用于其他事情。