Dicionário de Dados [**** RESOLVIDO ***]

(jovitomelo) #1

Pessoal,

Estou com o seguinte problema:

Modelei meu DB para uma nova aplicacção… nesta modelagem tenho 110 tabelas.
Criei o dicionário de dados, selecionei as tabelas para acrescentar ao dicionário e no momento de adicionar, já na primeira tabela, surge o seguinte erro:

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 33554514 bytes) in C:\Program Files\NetMake\v5\wwwroot\scriptcase\devel\lib\php\functions.inc.php on line 5597

Alguem sabe a solução para este problema?

(Cleyton Euler) #2

Parece que nesta última release tem um bug quando se usa o dicionário de dados. Li em algum tópico recente.

(wanderlanlima) #3

aumente o tam do max_length ou max_length_memory para 128, o padrão é 32m.
Isso é no php.ini

(jovitomelo) #4

Já tinha feito isso e não tinha resolvido… coloquei no máximo possível 999999M e nada.

(wanderlanlima) #5

memory_limit = 128M (1024)

(jovitomelo) #6

Pessoal,

Aumentar o limite de memoria no php.ini não resolveu o problema… segundo literatura no php.org esse limite não deve ser superior a 32M em nenhuma hipótese… se esse limite está sendo excedido pela sua aplicação é pq algum erro existe na aplicação.

Com base nisso, fui observar todos os detalhs da minha aplicação, consegui descobri e solucionar o problema. Seguinte:

Por falta de atenção criei uma tabela no mysql com uma acentuação (vício de linguagem). Exemplo: tb_proprietário -> quando o correto deveria ser tb_proprietario sem o acento no a (á).
Quando criei o dicionário de dados e inclui as tabelas ele truncou essa tabela criando um um dicionário extremamente grande (o tamanho normal de um dicionário robusto não passa de 100K, o meu ficou com quase 180M). Pois bem, recriei manualmente este dicionário, perdi algumas informações (nada que gerasse um re-trabalho muito grande) e a aplicação voltou a trabalhar normalmente.

O dicionário re-gerado > C:\Program Files\NetMake\v5\wwwroot\scriptcase\app[b](nome do projeto)[/b]_lib\lang\pt_br.lang.php.

(wanderlanlima) #7

Caro jovito,

Já fiz esse aumento de memoria e até hj não tive problemas, as vezes a literatura é conservadora demais, já que o php é uma linguagem free e com constantes modificações !

(paulomarcelo) #8

Jovito você tem o link de onde você leu "segundo literatura no php.org esse limite não deve ser superior a 32M em nenhuma hipótese… se esse limite está sendo excedido pela sua aplicação é pq algum erro existe na aplicação.
" procurei no internet e não achei nada a respeito.

(jovitomelo) #9

Paulo,

Esse problema me incomodou por tanto tempo que eu passei alguns dias procurando pela net a solução… no momento não estou encontrando o link, mas veja este forun: http://drupal.org/node/207036 .

Se vc verificar os foruns que tratam de memory limit php perceberar duas coisas:

a) a grande maioria deles não se fala em aumentar mais que 64MB e um ou outro 128MB;
b) todos são categóricos em afirmar que vc deve rever seu script se a memória for esgotada (superior a 64MB).

Boa sorte.