Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


ntext fält i SQL-Server

Postades av 2000-10-27 15:43:00 - Håkan Wennerberg, i forum databaser, Tråden har 10 Kommentarer och lästs av 1355 personer

Arbetar på en 3-skiktad lösning där jag har en SQL-Server (2000) som backend. Affärslogiken ligger i komponenter i COM+ (skrivna i VB6) medan presentationslagret består (för tillfället) av VB6.

I databasen har jag en tabell med ett fält av typen ntext som klarar av att hantera upp till 1 GB information. I en av mina lagrade procedurer plockar jag bl.a. ut det här fältet för att returnera resultatet till affärslogiken. Där omvandlar jag resultatet till ett XML-dokument som sedan skickas till presentationslagret. Men i presentationslagret Saknas informationen från ntext fältet helt.

Om jag fattat det rätt så lagrar SQL-Server informationen i ett ntext fält som Unicode. Jag provade att konvertera resultatet till ASCII i affärslagret med funktionen StrConv men resultatet är fortfarande tomt. Om jag kollar fältets AbsoluteSize egenskap (ADO 2.5) så får jag -1 till svar.

Hur ska man göra för att kunna läsa av resultatet från ett ntext fält så att jag kan returnera en (eller ev. flera) strängar?

// Håkan Wennerberg


Svara

Sv: ntext fält i SQL-Server

Postades av 2000-10-27 18:16:00 - Pelle Johansson

Det finns ett konstigt problem vad gäller SQL-server och asp tillsammans med nText. Jag har nämligen för mig att om man skriver en selectsats så måste nText fälten ligga sist eller först - inte mitt i sql-koden.

select ntext1,ntext2, filnamn from..

eller

select filnamn, ntext1, ntext2 from ..

Jag kommer attan inte ihåg hur det är, antingen skall det ligga först eller sist i sql-strängen - prova och se om det inte ger resultat...
/Pelle


Svara

Sv: ntext fält i SQL-Server

Postades av 2000-10-27 18:55:00 - Håkan Wennerberg

Det löste sig genom att placera ntext fältet sist i SQL-sattsen. Det löste även en andra problem jag haft med andra fältvärden i resultatet (notera att detta inte var i ASP utan i VB6/COM+).

Tack!

// Håkan Wennerberg


Svara

Sv: ntext fält i SQL-Server

Postades av 2000-10-27 22:37:00 - Christoffer Hedgate

Håkan, har du provat selecta en rad med mer än 4000 tecken i NTEXT fältet? Jag antar att det inte fungerar... Kanske t o m inte ens så många. Du bör inte använda BLOB-fält som vanliga fält i ett recordset, utan du bör läsa över dem till ett Stream-objekt. Sedan kan du skapa din XML från det.


Svara

Sv: ntext fält i SQL-Server

Postades av 2000-10-29 19:01:00 - Håkan Wennerberg

Måste säga att Stream är ett ADO objekt jag inte stött på tidigare. Du skriver:

"Du bör inte använda BLOB-fält som vanliga fält i ett recordset, utan du bör läsa över dem till ett Stream-objekt"

Om jag inte ska ha fältet i ett Recordset, var ska jag då ha det... Som en fil? (vill kunna utnyttja fulltextsökningen i SQL Server 2000 sedan)

Det jag egentligen vill ha är ett fält i databasen där jag kan lagra ca 300.000 bytes gärna i ASCII. Denna information vill jag sedan plocka ut med ADO i mina komponenter som ska omformatera detta fält tillsammans med ytteligare en bunt fält till ett XML-dokument som jag sedan skickar till presentationslagret.

Funderar också lite på hur jag ska lyckas returnera 300.000 bytes med data från komponenten när VB's String endast hanterar ~65.000 bytes. Presentationslagret som ska ta emot denna information kommer att vara i ASP men för tillfället är det skrivet i VB6. Kan man kanske returnera ett Stream objekt?

(tipsa gärna om länkar till information om Stream objektet om det är nån som har någon bra)

// Håkan Wennerberg


Svara

Sv: ntext fält i SQL-Server

Postades av 2000-10-30 09:28:00 - Christoffer Hedgate

OK, jag skrev nog inte riktigt vad jag menade. Visst ska du läsa ut fältet som ett vanligt fält i ett Recordset, men sedan ska du inte behandla det som ett vanligt fält, utan där ska du läsa över informationen till ett Stream-objekt. Se länken nedan för mer info om detta.

Angående ditt valav ntext istället för text så finns det ingen anledning att välja ntext om du inte behöver Unicode. ntext gör som sagt att informationen blir dubbelt så stor som om den lagras i text.

Angående VBs String, är du säker på det? Jag hade ganska bestämt för mig att den kunde ta mer, men jag är inte 100%.

http://support.microsoft.com/support/kb/articles/Q258/0/38.asp


Svara

Sv: ntext fält i SQL-Server

Postades av 2000-10-30 10:30:00 - Håkan Wennerberg

Tack för dina svar, ska genast sätta igång och använda Stream objektet för att hantera BLOB-fältet.

Ang. String datatypen så finns det två typer av upptäckte jag till min förvåning.

<!-- Saxat ur MSDN -->
There are two kinds of strings: variable-length and fixed-length strings.

A variable-length string can contain up to approximately 2 billion (2^31) characters.


A fixed-length string can contain 1 to approximately 64K (2^16) characters.


Svara

Sv: ntext fält i SQL-Server

Postades av 2000-10-30 11:22:00 - Christoffer Hedgate

ok
hur skapar man en fixed-length string då? för jag antar att Dim foo As String ger en variable length string.


Svara

Sv: ntext fält i SQL-Server

Postades av 2000-10-30 12:20:00 - Håkan Wennerberg

Du deklarerar en fixed-length String på följande vis:

String * size

Alltså:

Dim strFixed As String * 50


Svara

Sv: ntext fält i SQL-Server

Postades av 2000-10-30 13:03:00 - Christoffer Hedgate

ok. jo, det visste jag ju egentligen...


Svara

Sv: ntext fält i SQL-Server

Postades av 2000-10-30 15:51:00 - Håkan Wennerberg

Ja he he
Det är så lätt att glömma... :-/


Svara

Nyligen

  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak
  • 16:14 Vem anlitar man egentligen när tak
  • 16:13 Vem anlitar man egentligen när tak
  • 11:52 Noen erfaring med uttak hos Mostbe
  • 11:51 Noen erfaring med uttak hos Mostbe

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 613
27 958
271 741
2 363
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies