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


Byte från Access till SQL?

Postades av 2003-10-07 10:40:44 - Sören Liedberg, i forum databaser, Tråden har 9 Kommentarer och lästs av 865 personer

I mitt program skrivet i VB6.0 börjar min Access-databas bli ca 6 - 7 mb stor. Det är många tabeller osv. Med tiden kommer den att bli mångdubbelt större. Min tanke är att ev byta till SQL som jag hört är både stabilare och framförallt snabbare. I programmet använder jag flera olika typer av datakontroller såsom ADO, DAO samt vanliga data-kontroller. Min fråga gäller följande: Vad är det för åtgärder som jag måste vidtaga för att göra detta byte, dels i programmet och dels emellan databaserna?

Tacksam för svar

SL


Svara

Sv: Byte från Access till SQL?

Postades av 2003-10-07 15:26:34 - Janne Hentschel

Det ska finnas någon sorts "migration kit" utgivet av MS för att flytta mellan databaserna. SQL-servern har också ett Import/Export-verktyg som fungerar helt lysande. När det gäller applikationen så beror det mycket på vilken sorts anslutning du gjort i dina datakontroller. Har du använt ODBC med namngiven datakälla rakt av så blir det enkelt. Med andra typer av anslutning får du nog gå igenom dem och deras kod en och en.

//Janne


Svara

Sv: Byte från Access till SQL?

Postades av 2003-10-08 08:13:51 - Jenny Månsson

Det kan också behövas några förändringar i ditt program vad gäller dina frågor mot databasen. Det finns ett fåtal skillnader syntaxmässigt mellan access och sql.
(Exempelvis sql funktionerna iif och isnull...)


Svara

Sv: Byte från Access till SQL?

Postades av 2003-10-08 14:43:27 - Fredrik Malmström

Tänk också att SQL-Server inte är en enskild databas som Access, utan en hel server som ex. MySQL.


Svara

Sv: Byte från Access till SQL?

Postades av 2003-10-09 10:02:16 - Roger Gusthage

Föreslår att du i samband med bytet gör alla anrop mot databasen i en särskilld funktion/klass. I din kod anropar du då denna databas-funktion ihop med din SQL sats och returnerar ett recordset eller använder funktionen getRows som returnerar en två-dimensionell array med alla kolumner och alal rader som en SQL sats returnerar.

Ex <code>
function ExecuteRS( sql )
dim conn, rs
Set conn = CreateObject("ADODB.Connection")
str = "Provider=SQLOLEDB;Data Source="&DB_Server&";" & _
User ID="&DB_User&";password="&DB_Passwd&";"
conn.Open str

set rs = conn.Execute( sql )
ExecuteRS = empty
if not rs.EOF then
ExecuteRS = rs.GetRows()
end if
conn.close
end function</code>

I din kod anropar du databasen med SQL sats så här

<code>
function MinFunktion
Dim sql, rs
sql = "SELECT * FROM tabelnamn"
rs = ExecuteRS( sql )

If not isEmpty( rs ) Then
...
...
end if
end function
</code>

Du undviker på detta sätt att göra din kod beroende av vilken databas du kör. Du kan även skapa databasfunktioner för att köra stored Procedure i MS SQL server.


Svara

Sv: Byte från Access till SQL?

Postades av 2003-10-09 13:40:52 - Andreas Hillqvist

Hur gör det koden mindre beroende av vilken databas som används?
Argumentet är en SQL sträng. Det är ju SQL strängen som skiljer applikationerna åt.

Du har då mer nytta av t.ex. funktioner för texta och datum hantering:
<code>
Function SQLText(Value)
If Len(Value) > 0 Then
SQLText = "'" & Replace(Value, "'", "''") & "'"
Else
SQLText = "Null"
End If
End Function

Function SQLNumber(Value)
If IsNumeric(Value) Then
SQLNumber = Replace(Value, ",", ".")
Else
SQLNumber = "Null"
End If
End Function
</code>
Mellan access och MS SQL server skiljer sig hanteringen av datum.
Access:
<code>
Function SQLDate(Value)
If IsDate(Value) Then
SQLDate = "#" & Month(Value) & "/" & Day(Value) & "/" & Year(Value) & " " & Hour(Value) & ":" & Minute(Value) & ":" & Second(Value) & "#"
Else
SQLDate = "Null"
End If
End Function
</code>
SQL server:
Access:
<code>
Function SQLDate(Value)
If IsDate(Value) Then
SQLDate = "'" & Month(Value) & "/" & Day(Value) & "/" & Year(Value) & " " & Hour(Value) & ":" & Minute(Value) & ":" & Second(Value) & "'"
Else
SQLDate = "Null"
End If
End Function
</code>

Det som oxå särskiljer databaser är hur det hanterar Joins, underfråger, proceduers, vyer osv.


Svara

Sv: Byte från Access till SQL?

Postades av 2003-10-09 14:07:18 - Sören Liedberg

Tack alla ni som skickat mig svar. Jag har en hel del att kolla och pröva och era ideer kommer väl till pass.

tack, Sören


Svara

Sv: Byte från Access till SQL?

Postades av 2003-10-10 14:18:29 - Roger Gusthage

Det är rätt, olika databaser använder olika syntax för SQL. Det som är gemensamt är de mer enkla typerna av SQL Select, Insert etc. Använder du den typen av SQL minskar du det arbete du behöver göra om och när du ev byter databas. Du behöver givetvis ändra i din funktion som anropar datasen. Där ändrar du ODBC kopplingsträng eller annat som är direkt beroende av din databasleverantör.

Tillsammans med de funktioner för hantering av datum, vissa speciella syntax som gäller för vissa databaser blir det ett rätt hyfsat datalager.


Svara

Nyligen

  • 19:38 Rekommendera något intressant
  • 19:13 Международная перевозка грузов
  • 00:01 DL Van Tuning | Exclusive Body Kit
  • 12:08 Indian casino
  • 04:14 Vad finns det för kratomalternativ
  • 14:16 Indian online casino
  • 14:15 Indian online casino
  • 08:28 Butiksskyltar: Hur upplever utbude

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 871
27 965
271 770
528
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