我正在尝试将新数据提交到各种数据库中,当我在一段时间后不断提交数据时,它会向我显示此错误:
提交语句如下所示:
sql "INSERT INTO Bond Values("","HK0000122334","CNH",8447.5357732363,8447.5357732400,0.0000000037,109913,"01Jun15")".
数据库也达到2.09Gb。我的代码看起来像这样:
Sub commit(dbName As String, tableName As String, commitString As String, reportDate As String)
Dim ws As DAO.Workspace
Dim db As DAO.Database
Dim sSQL As String
Dim qdf As QueryDef
sDb = dbName & ".accdb"
Set ws = DBEngine.Workspaces(0)
Set db = ws.OpenDatabase(sDb)
sqlStatementList = Split(commitString, ";")
For Each sqlStatement In sqlStatementList
sqlStatement = Replace(sqlStatement, ")" & vbLf, reportDate)
If InStr(tableName, "EIS") <> 0 Then
sqlStatement = Replace(sqlStatement, "EIS", tableName)
End If
sSQL = sqlStatement
Set qdf = db.CreateQueryDef("", sSQL)
qdf.Execute dbFailOnError
Next sqlStatement
End Sub
到目前为止我尝试过:
1)
Set qdf = Nothing
Set db = Nothing
这没有帮助。仍然是同一个问题。
2)试图删除该特定数据库并继续提交其余数据库,但仍然遇到同样的问题。
需要一些解决此问题的指导。
答案 0 :(得分:1)
maximum size of an Access database is 2GB(链接适用于2010年,但2013年似乎相同)。所以是的,当数据库变大时,你的插入会失败。您可以选择将数据分成另一个数据库文件或切换到SQL Server或其他一些数据库类型。