Sub*_*mar 5 sql-server excel ssis etl
我有一个excel工作表Sheet1$,
| 报告1 | 报告2 | 报告5 | 报告6 |
|---|---|---|---|
| 值1 | 值1 | 值1 | 值1 |
| 二 | 值2 | 值2 |
我在数据库中有几个 SP,这个工作表有 SP 的参数
根据工作表中的标题名称,我们必须传递参数并运行该 sp。
例子:
在此工作表中,我必须运行 report1、report2、report5、report6,其中报告 3 和报告 4 不存在。
我必须相应地使用每列中的参数运行上述内容。(注意:参数必须作为字符串传递) SP 的结果应再次保存在工作表中。
有人可以帮我解决这个问题吗?
提前致谢
我用的是ADODB。
代码片段(函数 SQL_EXEC...)
Dim B As Boolean
Dim C As ADODB.Command
Dim I As Long
Dim P As ADODB.Parameter
Dim V As Variant
Set C = New ADODB.Command
C.ActiveConnection = glob_CONNECT
C.CommandType = adCmdStoredProc
C.CommandText = X.SQL_Name
' bind Inputparameter
If X.NInParams > 0 Then
For I = 1 To X.NInParams Step 1
Set P = C.CreateParameter(X.InParam(I).SQL_Name, _
X.InParam(I).ADODB_Type, _
adParamInput, _
X.InParam(I).SQL_Size, _
X.InParam(I).SQL_Value)
C.Parameters.Append P
Next
End If
' bind Outputparameter
If X.NOutParams > 0 Then
For I = 1 To X.NOutParams Step 1
Set P = C.CreateParameter(X.OutParam(I).SQL_Name, _
X.OutParam(I).ADODB_Type, _
adParamOutput, _
X.OutParam(I).SQL_Size)
C.Parameters.Append P
Next
End If
' Execute SP (Errors are possible!)
On Error GoTo 0
On Error Resume Next
C.Execute
' Error?
If Err.Number <> 0 Then
SQL_EXEC = False
Exit Function
End If
' Fetch Output
If X.NOutParams > 0 Then
For I = 1 To X.NOutParams Step 1
V = VNormExec(C.Parameters(X.OutParam(I).SQL_Name), X.OutParam(I).SQL_Type)
X.OutParam(I).SQL_Value = V
Next
End If
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
49 次 |
| 最近记录: |