#1 2022-10-26 08:53:01

pandaben7890
Member
Registered: 2017-12-11
Posts: 12

TOleDBConnection: Not enough storage is available to complete

I got this error message

TOleDBConnection: Not enough storage is available to complete this operation

I already check RAM is fine used 14 GB out of 32 GB. And service only spend 350MB the time they have this problem.
I run this service on WindowsVM using MSSQL, mdf and ldf is unlimited no capped.

Could it be from shrinking DB from 400GB to 100GB make db file corrupt or something?

Thanks for helping, I totally have no clues right now @_@

Last edited by pandaben7890 (2022-10-27 05:15:55)

Offline

#2 2022-10-26 11:47:21

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,661
Website

Re: TOleDBConnection: Not enough storage is available to complete

Is the service compiled as Win64 ?

Offline

#3 2022-10-27 05:25:06

pandaben7890
Member
Registered: 2017-12-11
Posts: 12

Re: TOleDBConnection: Not enough storage is available to complete

No sir, what is the difference between compiling with Win32 and Win64?
And which one should we really use?

[more detail I forgot to mention on topic]
* Service only spend 350MB the time they have this problem.

Last edited by pandaben7890 (2022-10-27 05:27:27)

Offline

#4 2022-10-27 07:58:07

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,661
Website

Re: TOleDBConnection: Not enough storage is available to complete

Try with Win64.
On Win32, you can not allocate more than 2GB, and due to memory fragmentation, OleDB provider may not be able to allocate big memory blocks.

Which kind of request does it trigger?
Isn't it a too broad SELECT ?

The OleDB provider may try to allocate more memory, and fails due to 32-bit restrictions, and you don't see the memory grow because it is too quick.

Offline

#5 2022-10-27 09:51:11

pandaben7890
Member
Registered: 2017-12-11
Posts: 12

Re: TOleDBConnection: Not enough storage is available to complete

Okay, I will try with Win64.
Thank you for your assistance. ^_^

Offline

#6 2022-10-30 02:58:56

pandaben7890
Member
Registered: 2017-12-11
Posts: 12

Re: TOleDBConnection: Not enough storage is available to complete

I couldn't compile in Win64 version.
I got this error when compile.

[dcc64 Fatal Error] F2084 Internal Error: L3226

Delphi 10.3 with mORMot 1.18.6416

So I try to test compiling with SQLite3/Samples
on 01 - In Memory ORM ==> Compiles Success
on 02 - Embedded SQLite3 ORM ==> Compiles Failed!!!!
After test it fail if include SynSQLite3Static

So I search and try
- download new latest version from github .obj / .o is 30 Sep 2022 checked.
- download sqlite3-64.dll and copy to where Project02.exe are. Still got same error as above L3226
- I cant find how to use dynamic link on wher to call and I use TOleDBMSSQL2012ConnectionProperties

Do I miss something?

Last edited by pandaben7890 (2022-10-30 03:26:48)

Offline

Board footer

Powered by FluxBB