我正在尝试通过 ASP.NET Web 应用程序执行 PLSQL UTL_FILE 命令并不断遇到此错误;
[Oracle][ODBC]语法错误或访问冲突。
我将一个字符串(文件名)传入 sql(insql)并使用下面的代码来执行命令。注意 - 我将 sql 字符串和 sql 类型 (1 - UPDATE, 2 - UTL_FILE) 传递到子 SqlConn;
Public Sub SqlConn(insql, sql_type)
Dim cn As New ADODB.Connection
cn.ConnectionString = "Driver=[Microsoft driver for Oracle];Data Source=[Name];Persist Security Info=True;User ID=UID;Password=PWD"
cn.ConnectionTimeout = 900
cn.Open()
If sql_type = 1 Then
Dim rs As New ADODB.Recordset()
Dim da As New OleDbDataAdapter()
Dim ds As New DataSet()
With rs
.CursorLocation = ADODB.CursorLocationEnum.adUseClient
.CursorType = ADODB.CursorTypeEnum.adOpenStatic
.LockType = ADODB.LockTypeEnum.adLockBatchOptimistic
.Open(insql, cn.ConnectionString)
End With
ElseIf sql_type = 2 Then
Dim cmd As New ADODB.Command
cmd.CommandText = insql.ToString
cmd.ActiveConnection = cn
cmd.CommandType = ADODB.CommandTypeEnum.adCmdStoredProc
cmd.Execute()
End If
cn.Close()
End Sub
这具体是什么意思,在成功执行 utl_file 命令时我能做些什么来防止这种情况发生?
通过 StackOverflow,我发现了这个有用的链接; 然而,这里 我的驱动程序不是问题,因为所有其他命令都可以毫无问题地执行。
感谢任何可以提供帮助的人。