Avatar billede tommy Nybegynder
10. juli 2000 - 18:30 Der er 7 kommentarer og
1 løsning

HJÆLP! Upload binary til en SP

Hejsa

Jeg sidder og leger med at få en stored procedure til at gemme en binær streng(et billede som jeg får fra en komponent) i et IMAGE felt.. det virker også fint nok, lige indtil at billedet kommer til at fylde over de ca 8 K... jeg tror at det er pga. at den binære streng bliver for lang... og jeg har hørt fra nogle kloge hoveder at det måske kan være mit ADO kald og at der skulle være mulighed for at sætte det op til kunne tage nogle længere strenge...

Error :
Microsoft OLE DB Provider for ODBC Drivers (0x80040E57)
[Microsoft][ODBC SQL Server Driver]String data, right truncation

På forhånd tak :o)
-Tommy
Avatar billede jper Nybegynder
12. juli 2000 - 13:36 #1
Jeg går ud fra at du bruger SQL-Server 7.0, for der er max størrelsen på de såkaldte short string columns 8000 bytes, men hvis du bruger felter af typen text eller ntext så er max størrelsen 2GB-2.

Her er lidt fra SQL-Server Books Online omkring feltstørrelser i hhv 6.5 og 7.0

  Maximum sizes/numbers
Object SQL Server 6.5 SQL Server 7.0
Batch size 128 KB 65,536* Network Packet Size
Bytes per short string column 255 8000
Bytes per text, ntext, or image column 2 GB-2 2 GB-2
Bytes per GROUP BY, ORDER BY 900 8060
Bytes per index 900 900
Bytes per foreign key 900 900
Bytes per primary key 900 900
Bytes per row 1962 8060
Bytes in source text of a stored procedure 65025 Lesser of batch size or 250 MB
Clustered indexes per table 1 1
Columns in GROUP BY, ORDER BY 16 Limited only by number of bytes
Columns or expressions in a GROUP BY WITH CUBE or WITH ROLLUP statement 10 10
Columns per index 16 16
Columns per foreign key 16 16
Columns per primary key 16 16
Columns per base table 250 1024
Columns per SELECT statement 4096 4096
Columns per INSERT statement 250 1024
Connections per client Max. value of configured connections Max. value of configured connections
Database size 1 TB 1,048,516 TB
Databases per server 32,767 32,767
Filegroups per database N/A 256
Files per database 32 32,767
File size (data) 32 GB 32 TB
File size (log) 32 GB 4 TB
Foreign key table references per table 16 253
Identifier length (in characters) 30 128
Locks per connection Max. locks per server Max. locks per server
Locks per server 2,147,483,647 2,147,483,647 (static)
40% of SQL Server memory (dynamic)
Nested stored procedure levels 16 32
Nested subqueries 16 32
Nested trigger levels 16 32
Nonclustered indexes per table 249 249
Objects concurrently open in a server* 2 billion 2,147,483,647
Objects in a database* 2 billion 2,147,483,647
Parameters per stored procedure 255 1024
REFERENCES per table 31 63
Rows per table Limited by available storage Limited by available storage
SQL string length (batch size) 128 KB 128* TDS packet size
Tables per database 2 billion Limited by number of objects in a database
Tables per SELECT statement 16 256
Triggers per table 3 Limited by number of objects in a database
UNIQUE indexes or constraints per table 249 249 nonclustered and 1 clustered

Og forklaringen på din fejl
01004 String data, right truncated The buffer *InfoValuePtr was not large enough to return all of the requested information, so the information was truncated. The length of the requested information in its untruncated form is returned in *StringLengthPtr. (Function returns SQL_SUCCESS_WITH_INFO.)
Avatar billede jper Nybegynder
12. juli 2000 - 13:38 #2
Øv formateringen røg sig en tur i mit svar jeg håber det giver mening alligevel.
Avatar billede tommy Nybegynder
12. juli 2000 - 15:04 #3
Hej Jper

Jeg sætter det binært ind i et IMAGE felt, som så vidt jeg ved kan indeholde langt over 1 Giga... jeg kan ikke lige huske hvor meget det er, men det er meget!!

-Tommy
Avatar billede jper Nybegynder
12. juli 2000 - 15:38 #4
Hmmm.... Det skrev du godt nok, det ser jeg først nu. Men jeg har ikke rigtig kunnet finde en løsning på dit problem (endnu)
Avatar billede tommy Nybegynder
12. juli 2000 - 15:48 #5
Jeg ville blive meget glad hvis du kan finde ud af noget... jeg har snakket med folk der ellers er skide gode til det her ... mennn de kunne ikke lige klare den her....

Jeg kender en som har gættet på at det måske er pga at en SP kun kan modtage strenge på 8 K..

-Tommy
Avatar billede jper Nybegynder
20. juli 2000 - 16:02 #6
Hvilken service pack har du serveren, der er kommet to service packs måske de kan hjælpe.
Avatar billede prh Nybegynder
16. august 2000 - 18:17 #7
Tommy har delvist korrekt, sp\'s kan godt modtage
over 8 kbyte, men problemet er at ODBC\'en
kun kan sende 8 kbyte argumenter....

Hele dit problem ligger i at du bruger ODBC...
Vi havde samme problem hos Jubii ind til at vi
skiftede til at bruge OLE DB i ADO\'en istedet,
bedre performance, og ikke den samme begrænsning
på argumentet...
Avatar billede tommy Nybegynder
10. november 2000 - 09:08 #8
Hej prh
Takker mange gange for dit svar ... enlig en der vidste lidt om det... :o)

nogen mulighed for at jeg kan få dit ICQ nr...

-Tommy
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester