Avatar billede bzone Nybegynder
14. oktober 2003 - 14:57 Der er 16 kommentarer og
2 løsninger

Flytte en db fra MS SQL til Access

Jeg skal flytte en MS SQL database til Access for at bygge den op kun i Access for en kunde. Den kører i dag med en Access frontend. Men skal fremover køre rent access da det af organisatoriske og licensmæssige årsager ikke er muligt at fortsætte med at have data her. Hvordan overføres data og strukturer nemmest? Findes der enten et værktøj i Access eller noget smart kode som kan skrive alle tabellerne til en ny backend access database.

Jeg er klar over at evt. stored procedures ikke kan komme med. Men er der flere ting der vil mangle?

Jeg har har fuld DB adgang til alle data via Access, men ikke mulighed for at benytte SQL server værktøjer som fx. enterprise manager.

Mvh
/bzone
14. oktober 2003 - 15:05 #1
Stored procedures og triggers vil ganske rigtig ikke komme med (selvom du rent faktisk kan lave Stored Procedures i Access)

Der er flere måder at flytte strukturen over i Access på. Men hvis du ikke har Enterprise Manager, tror jeg at det nemmeste er at importere (ikke sammenkæde) alle tabeller til en ny Access-db.

Der skal muligvis justeres lidt på enkelte datatyper, ligesom relationerne nok er røget sig en tur.

Men ellers skulle det herefter være muligt at sammenkæde til den ny backend.

/Thomas
Avatar billede bzone Nybegynder
14. oktober 2003 - 15:35 #2
Det svarer meget godt til min egen forventning. Jeg vil gerne bruge mindst mulig tid på det og der er rigitg mange 100 tabeller. Kan det gøres i ét hug via access wizards til en ny .mdb eller kan man evt køre noget vba kode som løber igennem tabellerne én efter én og laver en query der skriver tabellen til en .mdb
14. oktober 2003 - 15:38 #3
Jamen, når du importere, så markere du jo dem alle....
Avatar billede bzone Nybegynder
14. oktober 2003 - 16:21 #4
Thomas, jeg kan høre at du tror jeg ved mere end jeg rent faktisk gør. Når jeg står i database containeren i en tom mdb og vælger importer, hvor angiver jeg så at der er en SQL server jeg vil have fat i. Er det en odbc forbindelse?

Jeg er heller ikke klar over hvor jeg i den eksisterende database finder de parametre der er benyttet for at få adgang til sql serveren.
14. oktober 2003 - 17:16 #5
Sorry :o)

Det er rigtigt at du vælger ODBC-databaser og derefter skal du oprette en SQL server-datakilde. Det kræver at du har følgende oplysninger:
-Servernavn (kan som regel ses på listen)
-Brugernavn (typisk "sa")
-adgangskode (kan være blank, men er det formentlig ikke)

Er din nuværende database en .mdb-fil eller en .adp-fil?
Avatar billede nih Novice
14. oktober 2003 - 17:18 #6
kan du ikke konvertere til et tomt projekt og anvende den MSDE der følger med office pakken som server.

Ikke prøvet selv - men jeg mener MSDE understøtter stored procedure og triggers

Niels
14. oktober 2003 - 17:21 #7
Det har Niels ret i. MSDE er gratis og kan indeholde op til 2 GByte data, men er optimeret til omkring 5 samtidige brugere (der kan dog godt være f.eks. 20 på)
Avatar billede bzone Nybegynder
14. oktober 2003 - 17:48 #8
Thomas>> Den nuværende database er en .mdb-fil.

Niels>> Forslaget med at anvende MSDE lyder også godt. Men jeg har brug for at kunne flytte selve databasen til andre computere senere. Kan det lade sig gøre? MSDE har ikke noget management interface så vidt jeg ved? Derfor var jeg mere tryg ved Access
14. oktober 2003 - 17:51 #9
bzone, har du så prøvet mit forslag?
Avatar billede nih Novice
14. oktober 2003 - 18:03 #10
Ok det forstår jeg godt - det var bare et forslag.

Niels
Avatar billede terry Ekspert
14. oktober 2003 - 19:02 #11
If you make an Access data project (.adp) instead of .mdb then yuu can use Access as the "management interface". You can create all your views, stored procedures etc. almost as you can with EM in SQL Server.

You should also be able to copy the db to other PC's as these are just files, although they have to be detached first!
Avatar billede terry Ekspert
14. oktober 2003 - 19:03 #12
ref my answer, this is if yo use MSDE instead of SQL Server.
Avatar billede bzone Nybegynder
14. oktober 2003 - 19:09 #13
Tak for forslag til jer alle.
Jeg har mulighed for at prøve det af om nogle dage og vil så vende tilbage.
/bzone
Avatar billede bzone Nybegynder
17. oktober 2003 - 17:51 #14
Jeg har nu kigget på det. Jeg er ikke nået så langt. Mit problem er fortsat at jeg ikke kan få forbindelse til SQL serveren fra en ny Access database. Der er ingen definerede dataforbindleser i XP som bliver jeg kan benytte. Når jeg prøver at oprette en ny ODBC forbindelse kommer der ingen servere frem i listen. Og hvis jeg kigger i den eksisterende Access database som kører fint mod SQL serveren kan jeg ikke finde nogen indikation af hvad der er anvendt som connect parametre. Hvis jeg sætter access et isoleret segment hvor den ikke kan nå serveren fra for jeg følgende meddelelse:

ODBC: Tilslutning til "SQL ServerLink" lykkedes ikke

Jeg har ikke kunne finde "SQL ServerLink" nogen steder heller ikke i VBA.

Har brug for lidt gode ideer til at komme videre, da jeg ikke har nogen oplysninger om MS SQL servicen andet end den der er i access programmet. Altså ingen brugerid og password. Så har brug for at kunne arve det der virker.
Mvh bzone

Den eneste metode jeg ellers kan finde på lige nu er at trække hver tabel ud via en query og gemme i en access ny tabel. Men det er en langsommelig process.
Avatar billede terry Ekspert
17. oktober 2003 - 19:35 #15
OK! You can export the data FROM SQL Servere to an Access database using DTS (SQL Server)
In Enterprise manager right click on the database where youwant to export from, and then from the menu choose All Tasks+Export Data.
Then find the Access Data Source form the drop down list. Now follow the instructions to export your tables to the Acess datbase.
Avatar billede bzone Nybegynder
17. oktober 2003 - 22:00 #16
Terry>> I am aware that MS SQL has this capability. The problem is that I do not have access to the Server running MS SQL and its associated tools. So need to find a way to get the data through Access. Is there any place in Access that you find, enherit or reuse the ODBC connect string?
Avatar billede terry Ekspert
18. oktober 2003 - 10:07 #17
If you cant create an ODBC Data source to the SQL Server then being able to reuse the ODBC connection string in Access isnt going to help!

When you create an ODBC Data Source, if the server is NOT in the list then just enter it. If you enter the name correctly and it exists then you will create a connection!
Avatar billede bzone Nybegynder
22. oktober 2003 - 10:08 #18
Fik det ikke til at virke med import via en ny ODBC forbindelse og har i stedet overført data via den eksisterende ODBC forbindelse. Tak for indsatsen.
/bzone
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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