Sybase NNTP forums - End Of Life (EOL)

The NNTP forums from Sybase - forums.sybase.com - are now closed.

All new questions should be directed to the appropriate forum at the SAP Community Network (SCN).

Individual products have links to the respective forums on SCN, or you can go to SCN and search for your product in the search box (upper right corner) to find your specific developer center.

Can't insert records past a 4 gig free table

6 posts in FoxPro Last posting was on 2012-07-18 00:01:13.0Z
Ken Posted on 2012-07-17 14:38:34.0Z
From: "ken" <kenk@appliedinfogroup.com>
Newsgroups: Advantage.FoxPro
Subject: Can't insert records past a 4 gig free table
Date: Tue, 17 Jul 2012 10:38:34 -0400
Lines: 31
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2900.5512
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5512
X-RFC2646: Format=Flowed; Original
NNTP-Posting-Host: 208.216.217.150
Message-ID: <500578d6@solutions.advantagedatabase.com>
X-Trace: 17 Jul 2012 07:38:14 -0700, 208.216.217.150
Path: solutions.advantagedatabase.com
Xref: solutions.advantagedatabase.com Advantage.FoxPro:389
Article PK: 1109743

I'm trying to insert records from several Foxpro dbf's into one free table
from the Foxpro command line.



Example...

SQLEXEC( hConn, "insert into ocpmerg SELECT FROM o52017m2")



Everything is fine until I get up to 4 Gigs on the free table file. I then
get an error 7200, Native error 5004.


Which says something about "either not finding the file or not having
sufficient " It ends there.



Is there a 4 gig limit? If not how do I insert more records?



Please shed some light.


Edgar Sherman Posted on 2012-07-17 18:15:42.0Z
Date: Tue, 17 Jul 2012 12:15:42 -0600
From: Edgar Sherman <no@email.com>
User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:13.0) Gecko/20120614 Thunderbird/13.0.1
MIME-Version: 1.0
Newsgroups: Advantage.FoxPro
Subject: Re: Can't insert records past a 4 gig free table
References: <500578d6@solutions.advantagedatabase.com>
In-Reply-To: <500578d6@solutions.advantagedatabase.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
NNTP-Posting-Host: 10.6.193.121
Message-ID: <5005abb9$1@solutions.advantagedatabase.com>
X-Trace: 17 Jul 2012 11:15:21 -0700, 10.6.193.121
Lines: 45
Path: solutions.advantagedatabase.com
Xref: solutions.advantagedatabase.com Advantage.FoxPro:390
Article PK: 1109744

For a DBF table I believe the maximum is 2GB * record length. The max
index size is 4GB.

However, I believe in order to use DBF tables over 4GB the table must be
opened with Proprietary Locking.
With Local server, it is necessary to open the table in exclusive mode.

5004 is an odd error to be returned. This is typically a rights issue
where the client is unable to access the table.

Edgar

On 7/17/2012 8:38 AM, ken wrote:
> I'm trying to insert records from several Foxpro dbf's into one free table
> from the Foxpro command line.
>
>
>
> Example...
>
> SQLEXEC( hConn, "insert into ocpmerg SELECT FROM o52017m2")
>
>
>
> Everything is fine until I get up to 4 Gigs on the free table file. I then
> get an error 7200, Native error 5004.
>
>
> Which says something about "either not finding the file or not having
> sufficient " It ends there.
>
>
>
> Is there a 4 gig limit? If not how do I insert more records?
>
>
>
> Please shed some light.
>
>
>
>
>
>


Mark Wilkins Posted on 2012-07-17 18:25:54.0Z
From: "Mark Wilkins" <a@b.c>
Newsgroups: Advantage.FoxPro
References: <500578d6@solutions.advantagedatabase.com> <5005abb9$1@solutions.advantagedatabase.com>
In-Reply-To: <5005abb9$1@solutions.advantagedatabase.com>
Subject: Re: Can't insert records past a 4 gig free table
Date: Tue, 17 Jul 2012 12:25:54 -0600
Lines: 1
Organization: Sybase
MIME-Version: 1.0
Content-Type: text/plain; format=flowed; charset="iso-8859-1"; reply-type=response
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-MSMail-Priority: Normal
Importance: Normal
X-Newsreader: Microsoft Windows Live Mail 14.0.8089.726
X-MimeOLE: Produced By Microsoft MimeOLE V14.0.8089.726
NNTP-Posting-Host: 10.6.193.219
Message-ID: <5005ae1d$1@solutions.advantagedatabase.com>
X-Trace: 17 Jul 2012 11:25:33 -0700, 10.6.193.219
Path: solutions.advantagedatabase.com
Xref: solutions.advantagedatabase.com Advantage.FoxPro:391
Article PK: 1109745

The error should be 7071 if the table is over 4GB. It's not clear to me
either why a 5004 would be returned; verify that the table names are correct
in the SQL statement.

The DBF record locking scheme for compatibility locking involves acquiring
file locks at file offsets in a certain range. After the table exceeds
4GB, the physical file records conflict with the lock offsets. That is why
proprietary locking (with remote server) is necessary.

Mark Wilkins
Advantage R&D

"Edgar Sherman" <no@email.com> wrote in message
news:5005abb9$1@solutions.advantagedatabase.com...
> For a DBF table I believe the maximum is 2GB * record length. The max
> index size is 4GB.
>
> However, I believe in order to use DBF tables over 4GB the table must be
> opened with Proprietary Locking.
> With Local server, it is necessary to open the table in exclusive mode.
>
> 5004 is an odd error to be returned. This is typically a rights issue
> where the client is unable to access the table.
>
> Edgar
>
> On 7/17/2012 8:38 AM, ken wrote:
>> I'm trying to insert records from several Foxpro dbf's into one free
>> table
>> from the Foxpro command line.
>>
>>
>>
>> Example...
>>
>> SQLEXEC( hConn, "insert into ocpmerg SELECT FROM o52017m2")
>>
>>
>>
>> Everything is fine until I get up to 4 Gigs on the free table file. I
>> then
>> get an error 7200, Native error 5004.
>>
>>
>> Which says something about "either not finding the file or not having
>> sufficient " It ends there.
>>
>>
>>
>> Is there a 4 gig limit? If not how do I insert more records?
>>
>>
>>
>> Please shed some light.
>>
>>
>>
>>
>>
>>
>


Ken Posted on 2012-07-17 18:58:14.0Z
From: "ken" <kenk@appliedinfogroup.com>
Newsgroups: Advantage.FoxPro
References: <500578d6@solutions.advantagedatabase.com> <5005abb9$1@solutions.advantagedatabase.com> <5005ae1d$1@solutions.advantagedatabase.com>
Subject: Re: Can't insert records past a 4 gig free table
Date: Tue, 17 Jul 2012 14:58:14 -0400
Lines: 73
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2900.5512
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5512
X-RFC2646: Format=Flowed; Response
NNTP-Posting-Host: 208.216.217.150
Message-ID: <5005b5b9@solutions.advantagedatabase.com>
X-Trace: 17 Jul 2012 11:58:01 -0700, 208.216.217.150
Path: solutions.advantagedatabase.com
Xref: solutions.advantagedatabase.com Advantage.FoxPro:392
Article PK: 1109746

Thanks everyone! If I understand correctly then I will need the Server
version.
When I get the server version, what will the size limit then be on free
tables?

"Mark Wilkins" <a@b.c> wrote in message
news:5005ae1d$1@solutions.advantagedatabase.com...
> The error should be 7071 if the table is over 4GB. It's not clear to me
> either why a 5004 would be returned; verify that the table names are
> correct in the SQL statement.
>
> The DBF record locking scheme for compatibility locking involves acquiring
> file locks at file offsets in a certain range. After the table exceeds
> 4GB, the physical file records conflict with the lock offsets. That is
> why proprietary locking (with remote server) is necessary.
>
> Mark Wilkins
> Advantage R&D
>
> "Edgar Sherman" <no@email.com> wrote in message
> news:5005abb9$1@solutions.advantagedatabase.com...
>> For a DBF table I believe the maximum is 2GB * record length. The max
>> index size is 4GB.
>>
>> However, I believe in order to use DBF tables over 4GB the table must be
>> opened with Proprietary Locking.
>> With Local server, it is necessary to open the table in exclusive mode.
>>
>> 5004 is an odd error to be returned. This is typically a rights issue
>> where the client is unable to access the table.
>>
>> Edgar
>>
>> On 7/17/2012 8:38 AM, ken wrote:
>>> I'm trying to insert records from several Foxpro dbf's into one free
>>> table
>>> from the Foxpro command line.
>>>
>>>
>>>
>>> Example...
>>>
>>> SQLEXEC( hConn, "insert into ocpmerg SELECT FROM o52017m2")
>>>
>>>
>>>
>>> Everything is fine until I get up to 4 Gigs on the free table file. I
>>> then
>>> get an error 7200, Native error 5004.
>>>
>>>
>>> Which says something about "either not finding the file or not having
>>> sufficient " It ends there.
>>>
>>>
>>>
>>> Is there a 4 gig limit? If not how do I insert more records?
>>>
>>>
>>>
>>> Please shed some light.
>>>
>>>
>>>
>>>
>>>
>>>
>>


Mark Wilkins Posted on 2012-07-17 21:37:36.0Z
From: "Mark Wilkins" <a@b.c>
Newsgroups: Advantage.FoxPro
References: <500578d6@solutions.advantagedatabase.com> <5005abb9$1@solutions.advantagedatabase.com> <5005ae1d$1@solutions.advantagedatabase.com> <5005b5b9@solutions.advantagedatabase.com>
In-Reply-To: <5005b5b9@solutions.advantagedatabase.com>
Subject: Re: Can't insert records past a 4 gig free table
Date: Tue, 17 Jul 2012 15:37:36 -0600
Lines: 1
Organization: Sybase
MIME-Version: 1.0
Content-Type: text/plain; format=flowed; charset="iso-8859-1"; reply-type=response
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-MSMail-Priority: Normal
Importance: Normal
X-Newsreader: Microsoft Windows Live Mail 14.0.8089.726
X-MimeOLE: Produced By Microsoft MimeOLE V14.0.8089.726
NNTP-Posting-Host: 10.6.193.219
Message-ID: <5005db0b$1@solutions.advantagedatabase.com>
X-Trace: 17 Jul 2012 14:37:15 -0700, 10.6.193.219
Path: solutions.advantagedatabase.com
Xref: solutions.advantagedatabase.com Advantage.FoxPro:393
Article PK: 1109747

Hi Ken,

The limit with ADS (remote server) using proprietary locking is based on the
record count. The limit is 2 billion (2 ^ 31) records. So the maximum file
size would be (2^31 * recordlength). With a 150 byte record, for example,
the maximum file size would be about 322GB. This limit of 2 billion records
applies the same to free tables and data dictionary bound tables.

Mark Wilkins
Advantage R&D

"ken" <kenk@appliedinfogroup.com> wrote in message
news:5005b5b9@solutions.advantagedatabase.com...
> Thanks everyone! If I understand correctly then I will need the Server
> version.
> When I get the server version, what will the size limit then be on free
> tables?
>
>
>
>
> "Mark Wilkins" <a@b.c> wrote in message
> news:5005ae1d$1@solutions.advantagedatabase.com...
>> The error should be 7071 if the table is over 4GB. It's not clear to me
>> either why a 5004 would be returned; verify that the table names are
>> correct in the SQL statement.
>>
>> The DBF record locking scheme for compatibility locking involves
>> acquiring file locks at file offsets in a certain range. After the
>> table exceeds 4GB, the physical file records conflict with the lock
>> offsets. That is why proprietary locking (with remote server) is
>> necessary.
>>
>> Mark Wilkins
>> Advantage R&D
>>
>> "Edgar Sherman" <no@email.com> wrote in message
>> news:5005abb9$1@solutions.advantagedatabase.com...
>>> For a DBF table I believe the maximum is 2GB * record length. The max
>>> index size is 4GB.
>>>
>>> However, I believe in order to use DBF tables over 4GB the table must be
>>> opened with Proprietary Locking.
>>> With Local server, it is necessary to open the table in exclusive mode.
>>>
>>> 5004 is an odd error to be returned. This is typically a rights issue
>>> where the client is unable to access the table.
>>>
>>> Edgar
>>>
>>> On 7/17/2012 8:38 AM, ken wrote:
>>>> I'm trying to insert records from several Foxpro dbf's into one free
>>>> table
>>>> from the Foxpro command line.
>>>>
>>>>
>>>>
>>>> Example...
>>>>
>>>> SQLEXEC( hConn, "insert into ocpmerg SELECT FROM o52017m2")
>>>>
>>>>
>>>>
>>>> Everything is fine until I get up to 4 Gigs on the free table file. I
>>>> then
>>>> get an error 7200, Native error 5004.
>>>>
>>>>
>>>> Which says something about "either not finding the file or not having
>>>> sufficient " It ends there.
>>>>
>>>>
>>>>
>>>> Is there a 4 gig limit? If not how do I insert more records?
>>>>
>>>>
>>>>
>>>> Please shed some light.
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>
>
>


Ken Posted on 2012-07-18 00:01:13.0Z
From: "ken" <kenk@appliedinfogroup.com>
Newsgroups: Advantage.FoxPro
References: <500578d6@solutions.advantagedatabase.com> <5005abb9$1@solutions.advantagedatabase.com> <5005ae1d$1@solutions.advantagedatabase.com> <5005b5b9@solutions.advantagedatabase.com> <5005db0b$1@solutions.advantagedatabase.com>
Subject: Re: Can't insert records past a 4 gig free table
Date: Tue, 17 Jul 2012 20:01:13 -0400
Lines: 97
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2900.5512
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5512
X-RFC2646: Format=Flowed; Response
NNTP-Posting-Host: 208.216.217.150
Message-ID: <5005fcb9@solutions.advantagedatabase.com>
X-Trace: 17 Jul 2012 17:00:57 -0700, 208.216.217.150
Path: solutions.advantagedatabase.com
Xref: solutions.advantagedatabase.com Advantage.FoxPro:394
Article PK: 1109748

Thank you very much Mark!
Ken

"Mark Wilkins" <a@b.c> wrote in message
news:5005db0b$1@solutions.advantagedatabase.com...
> Hi Ken,
>
> The limit with ADS (remote server) using proprietary locking is based on
> the record count. The limit is 2 billion (2 ^ 31) records. So the
> maximum file size would be (2^31 * recordlength). With a 150 byte
> record, for example, the maximum file size would be about 322GB. This
> limit of 2 billion records applies the same to free tables and data
> dictionary bound tables.
>
> Mark Wilkins
> Advantage R&D
>
> "ken" <kenk@appliedinfogroup.com> wrote in message
> news:5005b5b9@solutions.advantagedatabase.com...
>> Thanks everyone! If I understand correctly then I will need the Server
>> version.
>> When I get the server version, what will the size limit then be on free
>> tables?
>>
>>
>>
>>
>> "Mark Wilkins" <a@b.c> wrote in message
>> news:5005ae1d$1@solutions.advantagedatabase.com...
>>> The error should be 7071 if the table is over 4GB. It's not clear to me
>>> either why a 5004 would be returned; verify that the table names are
>>> correct in the SQL statement.
>>>
>>> The DBF record locking scheme for compatibility locking involves
>>> acquiring file locks at file offsets in a certain range. After the
>>> table exceeds 4GB, the physical file records conflict with the lock
>>> offsets. That is why proprietary locking (with remote server) is
>>> necessary.
>>>
>>> Mark Wilkins
>>> Advantage R&D
>>>
>>> "Edgar Sherman" <no@email.com> wrote in message
>>> news:5005abb9$1@solutions.advantagedatabase.com...
>>>> For a DBF table I believe the maximum is 2GB * record length. The max
>>>> index size is 4GB.
>>>>
>>>> However, I believe in order to use DBF tables over 4GB the table must
>>>> be opened with Proprietary Locking.
>>>> With Local server, it is necessary to open the table in exclusive mode.
>>>>
>>>> 5004 is an odd error to be returned. This is typically a rights issue
>>>> where the client is unable to access the table.
>>>>
>>>> Edgar
>>>>
>>>> On 7/17/2012 8:38 AM, ken wrote:
>>>>> I'm trying to insert records from several Foxpro dbf's into one free
>>>>> table
>>>>> from the Foxpro command line.
>>>>>
>>>>>
>>>>>
>>>>> Example...
>>>>>
>>>>> SQLEXEC( hConn, "insert into ocpmerg SELECT FROM o52017m2")
>>>>>
>>>>>
>>>>>
>>>>> Everything is fine until I get up to 4 Gigs on the free table file. I
>>>>> then
>>>>> get an error 7200, Native error 5004.
>>>>>
>>>>>
>>>>> Which says something about "either not finding the file or not having
>>>>> sufficient " It ends there.
>>>>>
>>>>>
>>>>>
>>>>> Is there a 4 gig limit? If not how do I insert more records?
>>>>>
>>>>>
>>>>>
>>>>> Please shed some light.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>
>>