Avatar billede ultra Nybegynder
04. april 2002 - 16:22 Der er 30 kommentarer og
2 løsninger

Fra Access til MS SQL?

Hejsa,

Er der nogen der kan hjælpe mig med at få lavet disse felter fra Access db til MS SQL 2000 db ?

Field Name        Data Type          Field Size 
--------------------------------------------------
User              Number            Long Integer
ID                AutoNumber
Head              Text                255
ByName            Text                20
Message            Memo
Time              Date/Time
Links              Text                255
PictureName        Text                50
--------------------------------------------------

Det er min db til admin. hvad ellers skal jeg have lavet om på selve asp siden.     
Avatar billede bennytordrup Nybegynder
04. april 2002 - 16:24 #1
User int
ID int Identity(1,1)
Head varchar(255)
ByName varchar(20)
Message text
Time datetime
Links varchar(255)
picturename varchar(50)

Hvis det skal være unicode, skal det være nvarchar og ntext
Avatar billede ultra Nybegynder
04. april 2002 - 16:26 #2
skal jeg ikke oprette først tabelen til det ?
Avatar billede bennytordrup Nybegynder
04. april 2002 - 16:30 #3
create table EnTabel
(
  User int,
  ID int Identity(1,1),
  Head varchar(255),
  ByName varchar(20),
  Message text,
  Time datetime,
  Links varchar(255),
  picturename varchar(50),
  CONSTRAINT EnTabel_ID_PK PRIMARY KEY (ID)

)

Dette giver også primærnøgle på ID.
Avatar billede a1a1 Novice
04. april 2002 - 16:32 #4
Du behøver ikke at ændre din asp, med mindre at du bruger:
dato'er, og bruger # når du indsætter/henter datoer (select dato from table where dato = #2002-01-01#), skal ændres til ' istedet (select dato from table where dato = '2002-01-01')
true / false, eksisterer ikke i ms SQL, brug bit (0 og 1) access har -1 og nul (eller sand og falsk)

din db lige til at importere i ms sql, man skal bare lige huske at sætte autonummering til bagefter....(det kan den ikke helt finde ud af)

:)
Avatar billede ultra Nybegynder
04. april 2002 - 16:52 #5
Skal jeg bare ersttet den gamle forbindelse med den her?

Dim Connection
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "Provider=SQLOLEDB; Data Source=BlaBal; Initial Catalog=blabla; User Id=blabla; Password=blabla"
Avatar billede a1a1 Novice
04. april 2002 - 19:10 #6
ja...:)
Avatar billede ultra Nybegynder
05. april 2002 - 00:11 #7
ok, det virker fint men hvordan laver jeg en udtræk med VIEWS
fra felt:

Head
picturename
Message
Links

Må kun vise 3 nyeste poster. Den første post skal den vise med: Head,picturename Message og Links. 2 andre poster skal kun vise Head og Links.

Håber nogen kan hjælpe mig med det ?

Mange tak på forhånd...
Avatar billede ultra Nybegynder
05. april 2002 - 00:41 #8
hmm
Avatar billede ultra Nybegynder
05. april 2002 - 09:56 #9
...kan nogen ikke hjælpe mig :)
Avatar billede bennytordrup Nybegynder
05. april 2002 - 09:58 #10
Prøv denne:

CREATE VIEW TestVis
AS
  select top 3 Head,
        case
          when ID = (select top 1 id from EnTable order by ID Desc) then picturename
          else ''
        end as picturename,
        case
          when ID = (select top 1 id from EnTable order by ID Desc) then message
          else ''
        end as message,
        Links
  from EnTabel
  order by ID Desc
Avatar billede bennytordrup Nybegynder
05. april 2002 - 09:58 #11
EnTabel og EnTable skulle have været samme tabelnavn.
Avatar billede ultra Nybegynder
05. april 2002 - 10:18 #12
ok, prøver lige...
Avatar billede ultra Nybegynder
05. april 2002 - 10:23 #13
skal jeg køre den i Query Analyzer eller Enterprise Manager ?
Avatar billede bennytordrup Nybegynder
05. april 2002 - 10:25 #14
Query Analyzer
Avatar billede bennytordrup Nybegynder
05. april 2002 - 10:26 #15
Efterfølgende kan du lave

SELECT * FROM TestVis
Avatar billede ultra Nybegynder
05. april 2002 - 10:32 #16
sorry... jeg skulle også bruge ID
Avatar billede bennytordrup Nybegynder
05. april 2002 - 10:33 #17
Det sætter du så bare på efter select top 3. Desuden skal det så være Alter View (eller kør en Drop View TestVis    go    først.)
Avatar billede ultra Nybegynder
05. april 2002 - 10:39 #18
hmm
den har ikke oprettet den i mappen VIEWS :(
Avatar billede ultra Nybegynder
05. april 2002 - 10:42 #19
kan du ikke lige skrive koden i fra start til slut...
... som sgad er jeg jo NEWBIE :)
Avatar billede bennytordrup Nybegynder
05. april 2002 - 10:43 #20
Du skal lige lave en F5 (refresh) på mappen Views eller evt. databasen.
Avatar billede ultra Nybegynder
05. april 2002 - 10:43 #21
ok
Avatar billede ultra Nybegynder
05. april 2002 - 10:46 #22
har lige prøvet men den er der ikke.. :(

Vil du ikke være sød at skrive koden fra START til SLUT :)

...takker!
Avatar billede bennytordrup Nybegynder
05. april 2002 - 10:48 #23
<Script begin>
CREATE VIEW TestVis
AS
  select top 3 ID, Head,
        case
          when ID = (select top 1 id from EnTable order by ID Desc) then picturename
          else ''
        end as picturename,
        case
          when ID = (select top 1 id from EnTable order by ID Desc) then message
          else ''
        end as message,
        Links
  from EnTabel
  order by ID Desc
<Script End>

Post det, som den skriver i Messages efterfølgende.
Avatar billede ultra Nybegynder
05. april 2002 - 11:01 #24
ok, nu er den tilføjet

er den her forbindelsen til den ok ?

<%

        Dim Connection, RS, I,RS1,RS3,RS4,RS5,RS6,RS7,RS8
            Set Connection = Server.CreateObject("ADODB.Connection")
        Connection.Open "Provider=SQLOLEDB; Data Source=Blabla; Initial Catalog=Blabla; User Id=Blabla; Password=Blabla"

                   
        Set RS3 = Connection.Execute("SELECT * FROM PrikazPocetnica WHERE(Cat = 'Vrh') ORDER BY ID DESC")
                %>

er der noget jeg skal have fjernet el. tilføjet ?
Avatar billede bennytordrup Nybegynder
05. april 2002 - 11:05 #25
Hvis View'et hedder det Prikaz.... og du fjerner alt efter where (inklusive), så er det.

Viewet returnerer kun tre rækker - nemlig de tre nyeste ID-numre.
Avatar billede ultra Nybegynder
05. april 2002 - 11:07 #26
aha oki men det skal være fra en bestem Cat.
skal jeg så ikke bruge WHERE
Avatar billede ultra Nybegynder
05. april 2002 - 11:08 #27
sådan her ikke ?


Set RS3 = Connection.Execute "SELECT * FROM PrikazPocetnica WHERE(Cat = 'Vrh')
Avatar billede bennytordrup Nybegynder
05. april 2002 - 11:15 #28
Nej, for Viewet returnerer ikke Cat, og tager heller ikke hensyn til Cat. Skal du det, kan du ikke bruge View, men skal bruge en stored procedure i stedet.

<Script begin>
create procedure TestVisProc
(
  @Cat  varchar(20)
)
as
  select top 3 ID, Head,
        case
          when ID = (select top 1 id from EnTable order by ID Desc) then picturename
          else ''
        end as picturename,
        case
          when ID = (select top 1 id from EnTable order by ID Desc) then message
          else ''
        end as message,
        Links
  from EnTabel
  where Cat=@Cat
  order by ID Desc
<Script end>

Udføres i Query Analyzer.
Avatar billede bennytordrup Nybegynder
05. april 2002 - 11:19 #29
Du skal så bruge den således:

dim rs, cmd

set rs = Server.CreateObject(ADODB.RecordSet)
set cmd = Server.CreateObject(ADODB.Command)
cmd.ActiveConnection = cnnData
cmd.CommandType = adCmdStoredProc
cmd.CommandText = "TestVisProc"
cmd.Parameters.Item("@Cat") = 'Ønsket Cat'
               
rs.CursorLocation = adUseClient 'adUseServer
rs.CursorType = adOpenKeyset
rs.LockType = adLockReadOnly
               
rs.Open cmd
Avatar billede ultra Nybegynder
05. april 2002 - 11:20 #30
dvs. jeg ikke kan bruge VIEWS men Store Procedure...
Avatar billede ultra Nybegynder
05. april 2002 - 11:21 #31
aha, ok
Avatar billede ultra Nybegynder
05. april 2002 - 17:47 #32
>> benny.tordrup

Kan du hjælpe mig via ICQ el. Messenger så kunne jeg evt. betale for den hjælp...  pga. det haster.

mange tak på forhånd !
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