我正在使用VS2017和Firebird作为数据库。我首先使用数据库从所有存储过程创建我的模型。当我执行一个过程时,所有字符串变量都转换为SQL error code = -204
Implementation limit exceeded
block size exceeds implementation restriction.
,当我有超过5-6个字符串变量时,我得到这个错误:
varchar(20)
为什么它没有获得Firebird中存储过程中定义的大小(例如Sub FolderNames()
Application.ScreenUpdating = False
Dim xPath As String
Dim xWs As Worksheet
Dim fso As Object, j As Long, folder1 As Object
With Application.FileDialog(msoFileDialogFolderPicker)
.Title = "Choose the folder"
.Show
End With
On Error Resume Next
xPath = Application.FileDialog(msoFileDialogFolderPicker).SelectedItems(1) & "\"
'Application.Workbooks.Add
Set xWs = Application.ActiveSheet
xWs.Cells(1, 1).Value = xPath
xWs.Cells(2, 1).Resize(1, 2).Value = Array("Level", "Name")
Set fso = CreateObject("Scripting.FileSystemObject")
Set folder1 = fso.getFolder(xPath)
getSubFolder folder1, ""
Application.ScreenUpdating = True
End Sub
Sub getSubFolder(ByRef prntfld As Object, prntLevel As String)
Dim xFolderName As String
Dim xFileSystemObject As Object
Dim xFolder As Object
Dim xSubFolder As Object
Dim xFile As Object
Dim rowIndex As Long
Dim filecounter As Integer
Dim foldercounter As Integer
Dim SubFolder As Object
Dim subfld As Object
Dim xRow As Long
foldercounter = 1
For Each SubFolder In prntfld.SubFolders
subcount = subcount + 1
filecounter = 0
xFolderName = SubFolder.Path
Set xFileSystemObject = CreateObject("Scripting.FileSystemObject")
Set xFolder = xFileSystemObject.getFolder(xFolderName)
xRow = Range("A1").End(xlDown).Row + 1
Cells(xRow, 1).Resize(1, 2).Value = Array(prntLevel & foldercounter & "." & filecounter, SubFolder.Name)
getSubFolder SubFolder, prntLevel & foldercounter & "."
For Each xFile In xFolder.Files
filecounter = filecounter + 1
xRow = Range("A1").End(xlDown).Row + 1
Cells(xRow, 1).Resize(1, 2).Value = Array(prntLevel & foldercounter & "." & filecounter, xFile.Name)
Next xFile
foldercounter = foldercounter + 1
Next SubFolder
End Sub
)?
我有什么方法可以防止在这里施放?或任何其他想法来解决这个问题。