0

我正在尝试通过 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,我发现了这个有用的链接; 然而,这里 我的驱动程序不是问题,因为所有其他命令都可以毫无问题地执行。

感谢任何可以提供帮助的人。

4

0 回答 0