Vista su SQL Server

lunedì 18 febbraio 2008 - 17.08

doll1999 Profilo | Newbie

Ciao a tutti
Ho un piccolo (enorme visto che si tratta della mia tesi di laurea) problema con SQL Server.
sto cercando di creare una vista tramite applicazione java che si connette al DB ed esegue la creazione della vista.
Sto lavorando in remoto con SQLServe 2000 (non posso aggiornare la versione purtroppo).
L'errore che ho è il seguente:
Too many table names in the query. The maximum allowable is 256
Ed inoltre (maquesto credo sia errore di java):
Error Code: 4408 SQLState: 37000
A cosa potrebbe essere dovuto quest'errore???
Il fatto è che non sto considerando 256 tabelle ma 10 al massimo
La vista invece la sto creando nel seguente modo (vi posto un breve esempio)
create view Vista as select a.name, b.job from (select name, id from table 1) a, (select name, id from table 1) b where a.id = b.id
E' possibile che l'errore mi sia dato dal numero di sottoquery che utilizzo per creare la vita (il numero può variare tra 2 e 120)????
Anche perch'e alcune volte la vista viene create, altre volte invece no...(dipende dal numero degli attributi, e qdi dal numero di sottoquery) che sto utilizzando)....
Grazie e Ciao
E soprattutto....HELP MEEEEEEEEEEEEEEEE!!!!!!!!!!!!!!!!!!!!

lbenaglia Profilo | Guru

>create view Vista as
> select a.name, b.job
> from
> (select name, id
> from table 1) a,
> (select name, id
> from table 1) b
> where a.id = b.id

Dov'è la colonna job nella tabella correlata con alias b?
Puoi postare un esempio completo, con il codice DDL della tabella base (CREATE TABLE), alcune righe d'esempio (INSERT INTO) ed il result set che dovrebbe restituire la vista?

>E' possibile che l'errore mi sia dato dal numero di sottoquery
>che utilizzo per creare la vita (il numero può variare tra 2
>e 120)????
120?!?!?!

>Anche perch'e alcune volte la vista viene create, altre volte
>invece no...(dipende dal numero degli attributi, e qdi dal numero
>di sottoquery) che sto utilizzando)....
Non capisco la necessità di creare viste ad-hoc dato che questo compito deve essere svolto dal DBA e non da una applicazione.

>Grazie e Ciao
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

doll1999 Profilo | Newbie

Ciao Lorenzo
>Puoi postare un esempio completo, con il codice DDL della tabella base (CREATE TABLE), >alcune righe d'esempio (INSERT INTO) ed il result set che dovrebbe restituire la vista?

Un esempio di ddl é il seguente:
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

La vista che vorrei ottenere dovrebbe essere una cosa tipo (ti scrivo come dovrebbe essere la tabella):
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra
In pratica il nome delle colonne é il nome contenuto nella tabella attribute e il valore é contenuto nelle varie tabelle instattr_string (integer/long/double ecc ecc)

>Non capisco la necessità di creare viste ad-hoc dato che questo compito deve essere svolto >dal DBA e non da una applicazione.

Non lo capisco neanche io...Purtroppo é ma mia tesi di laurea (e mi vergogno a dirlo) e vorrebbero questo tipo di vista per poi estrarre dei report,,,
Quale potrebbe essere l'errore???Anche perché la vista che ho creato funziona e anche bene...Ma non sempre...
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5