要打开,我从未编写过vbs脚本。我写了很多SQL脚本,视图,开发了数据库。我在Access应用程序中写了很多VBA。
为此,我只是尝试将SQL脚本设置为VBS脚本,因此用户无需进入SSMS即可运行它。他们只需双击VBS脚本,在提示时指定服务器和数据库,并为它们运行快速脚本。
这是我到目前为止所得到的,但我一直收到Microsoft VBScript编译错误。最新的一个是第3行char 17,这是一个Dim声明。只是想知道是否有人可以判断我是否遗漏了这个脚本的基本内容,这是阻止它编译或正确处理。
这是一个非常简短的剧本:
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-cca-bank',
templateUrl: './cca-bank.component.html',
styleUrls: ['./cca-bank.component.css']
})
export class CcaBankComponent implements OnInit {
bank:string = 'asd';
constructor() { }
ngOnInit() {
}
}
如果有人可以提供帮助,我会非常感激。
谢谢
答案 0 :(得分:0)
没关系。我一直在排除故障并终于开始工作了。对于那些可能有帮助的人,与VBA不同,不容易将变量声明为类型。只是暗淡他们继续前进。见下文:
Dim conn
Set conn = createobject("Adodb.Connection")
Dim sConnString
Dim SqlStatement
StartScript
Sub StartScript()
sSourceServer = InputBox ("Enter the name of the SQL Server","Enter SQL Server Name","")
If Len(sSourceServer) = 0 Then
MsgBox "No SQL Server was specified.", , "Unable to Continue"
Exit Sub
End if
sSourceDB = InputBox ("Enter the name of the Law SQL Database","Enter Law SQL DB Name","")
If Len(sSourceDB) = 0 Then
MsgBox "No SQL DB was specified.", , "Unable to Continue"
Exit Sub
End if
' Create the connection string.
sConnString = "Provider=SQLOLEDB;Data Source=" & sSourceServer & "; Initial Catalog=" & sSourceDB & "; Integrated Security=SSPI;"
' Open the connection and execute.
conn.Open sConnString
conn.CommandTimeout = 900
SqlStatement = "UPDATE [tablename] " & _
"SET UUID = CASE WHEN CHARINDEX('.',[Filename]) > 1 THEN LEFT(CAST([Filename] AS VARCHAR),CHARINDEX('.',[Filename])-1) ELSE [Filename] END " & _
"WHERE [Filename] IS NOT NULL"
conn.Execute(SqlStatement)
conn.Close
Set rs = Nothing
SqlStatement = vbNullString
End Sub
MsgBox "All Done! Go Check your results!"
请记住,对于那些希望将其作为脚本基础的人 - 我没有进行任何检查,所以如果你不知道你的数据,这是一个危险的事情。
了解您的数据,备份您的数据,如果可以,请添加一些检查,以确保在运行之前检查并重新检查任何非select语句。