Avatar billede per2edb Guru
21. august 2018 - 20:30 Der er 53 kommentarer og
6 løsninger

linke Access 2016 til MS SQL 2017 express

Kan i hjælpe med at linke Access 2016 til MS SQL 2017 express.
Jeg har søgt i totorial men de skriver jeg skal gå til externe data og ODBC database.
Den er nedtoner (Spørret)  hos mig !!!
Har i et link til en god totorial (helst dansk)
De fleste er elendige og passer ikke med Access 2016 til MS SQL 2017 express.
Jeg har prøvet denne:
https://host4asp.net/how-to-link-access-database-to-sql-server-database/
Steps of linking a Microsoft Access database to a Microsoft SQL Server database
The first step of the procedure is to make sure that you have an Access database. If you don’t have an existing MS Access database, you must create a fresh one before proceeding to the next step. Once you launch the Access database, you should find the External Data option from the Quick Access toolbar and choose the ODBC Database from the available list. Clicking on the ODBC database opens a new wizard.

Men jeg har ingen adgang til ODBC Database!!!!!
Kan i hjælpe
Avatar billede terry Ekspert
21. august 2018 - 21:31 #1
https://www.microsoft.com/en-us/download/details.aspx?id=54255

Not sure if it supports Express but dont see why it shouldnt.
Avatar billede per2edb Guru
21. august 2018 - 21:58 #2
Tak
Jeg prøver
Avatar billede per2edb Guru
22. august 2018 - 15:00 #3
Terry Linket er for Azure og ikke umiddelbart for Access

Jeg har nu fået:
Download  SQL Server 2017 Express Edition    > Install SSMS  SQL Server Management Studio 17.8.1

Som forklaret her:
https://www.mssqltips.com/sqlservertip/5528/installing-sql-server-2017-express/

Men så stopper hjælpen !
Hvordan forbinder man SSMS med Access database 2016 ????????????
Kan i hjælpe!
Avatar billede terry Ekspert
22. august 2018 - 15:33 #4
Its says on the description "from Microsoft Access database(s) to SQL Server and Azure SQL DB"

So I have to assume that it does what it says.

If I get a bit of free time I'll download it and see how it works.
Avatar billede terry Ekspert
22. august 2018 - 17:28 #5
I can confirm that it is for Access and you can choose between a number of version of SQL Server or Azure dB's.
I already had 2017 Express and I converted an older .mdb without any problem. I assume it will also work with newer Access versions as it states in link.

You will need to create a dB (empty) in SQL Express because you have to tell the wizard which Access dB you want to migrate to which SQL dB.

If your havent worked with SQL Server before then I think it might be a problem to understand what to do....!
Avatar billede terry Ekspert
22. august 2018 - 17:30 #6
I havent checked if the procedure you used is ok or not.

"https://www.mssqltips.com/sqlservertip/5528/installing-sql-server-2017-express/"
Avatar billede per2edb Guru
23. august 2018 - 10:17 #7
Jeg er ny på SQL Express
Jeg har oprettet SQL Express og kommet til SSMS  SQL Server Management Studio 17.8.1
Når jeg åbner den får jeg:

Server type:  Databasegine
Server Name:  xxxx\SQLEXPRESS01
Authentication:  Windows Authentication

Hvad gør jeg så?????
Avatar billede terry Ekspert
23. august 2018 - 11:10 #8
In User name you can try entering the machine name followed by me

In the data you  show in #7 its the xxx in Server Name

so User name = xxx\me

and password empty

then you need to create a new dB.
Right click Databases and choose new database
Give the dB a name and then click OK, dont worry about anything else.

It might be an idea to learn more about SQL Sever as its very different from Access ;-)
Avatar billede per2edb Guru
23. august 2018 - 11:50 #9
??????????????
I mit SSMS  SQL Server Management Studio 17.8.1  er user name spærret !
Er det også  SSMS  SQL Server Management Studio 17.8.1 du refererer til?
Avatar billede terry Ekspert
23. august 2018 - 12:10 #10
"Hvad gør jeg så?????" from #7

Cant you just press the "Connect" button? I'm assuming xxxx/me is user name
Avatar billede per2edb Guru
23. august 2018 - 12:38 #11
Ja jeg har hele tiden kunne komme ind i programmet SSMS ved at trykke Connect, men user name kan jeg ikke ændre.
I SSMS er der en række mapper og menuer.
Med Open File kan jeg kalde Access  - men det forbinder intet.
Hvordan kommer jeg videre??
Avatar billede per2edb Guru
23. august 2018 - 13:12 #12
Hvis du har en e-mail adresse kan jeg sende et screen dump

Jeg har læst man skal bruge SSMS men måske du har en løsning uden SSMS med direkte forbindelse til SQL 2017 express
Avatar billede terry Ekspert
23. august 2018 - 13:21 #13
"Hvad gør jeg så?????"

Ok, so you can access SSMS.

SQL Server/SSMS is a large and complex system, not something you can learn in a few days or a couple of questions on eksperten ;-)

I assume you want to move your tables from Access into SQL Server and link these tables into your Access database.

First you need to create a new database in SSMS.
In SSMS Object Explorer right click on Databases and choose New Database.
Then enter a name for your database and press OK.

You can now close SSMS.
Now open Migration Assistant and follow the instructions.
This moves your local Access tables to SSMS and replaces the local tables with linked tables.

Thats it ....

What is the reason for moving to SSMS?
Avatar billede terry Ekspert
23. august 2018 - 13:32 #14
SSMS is really just a front-end to SQL Server, a bit like Access is to an Access database (tables and queries)

SQL Serever/SSMS can a lot more than Access can, it can take MANY years to really get to know SQL Server.

The Migration Assistant you downloaded from the link I gave in #1 is used to move tables from an existing Access database to, for example, an SQL Server database.

If you make a new Access database but want to use SQL Server for tables etc. then you would first create the tables etc. in SQL Server and then link them into your Access database. So you would not use the Migration Assistant here.

Once tables are linked into Access, any changes to the table design needs to be done through SSMS. So you WILL need to learn how to use SSMS and have knowledge of SQL Server, there is no easy way around this ...
Avatar billede per2edb Guru
23. august 2018 - 13:45 #15
Jeg begynder helt forfra med at forklare hvad jeg ønsker:
1) Jeg vil stadig benytte Access til udvikling og front end - men
2) Benytte SQL 2017 express til "motor" for at give adgang til:
3) Fremtidig flere bruger
4)  Større datamængder
5)  Hurtigere afvikling

Det skal gøres simpelt - så uden SSMS er det ok for mig
Jeg har læst/Set rigtig mange totorial men ingen beskriver hvordan jeg forbinder Acsess til SQL 2017 Express
Derfor spurgte jeg i #1 om:
Kan i hjælpe med at linke Access 2016 til MS SQL 2017 express.
Avatar billede terry Ekspert
23. august 2018 - 13:58 #16
"Det skal gøres simpelt - så uden SSMS er det ok for mig"

You WILL need SSMS to manage your tables which are no longer in Access. And it is NOT simpler than Access.

"Kan i hjælpe med at linke Access 2016 til MS SQL 2017 express."

I have tried to explain how to do this in my comments.
Avatar billede terry Ekspert
23. august 2018 - 14:11 #17
Here is a link on how you would make a new database
https://www.youtube.com/watch?v=PWswQrDf0Ns
Avatar billede per2edb Guru
23. august 2018 - 14:37 #18
Jeg prøver - tak
Avatar billede per2edb Guru
24. august 2018 - 12:28 #19
Det sidste link hjalp enormt
Nu har jeg både Server Name og Tom Database med et navn
MEN.......
I migration programmet får jeg denne fejl:

Access Object Collector error: Database
    Hentning af COM-klassefabrikken for komponenten med CLSID {CD7791B9-43FD-42C5-AE42-8DD2811F0419} mislykkedes pga. følgende fejl: 80040154 Klassen er ikke registreret (Undtagelse fra HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)). Please make sure that you are using the correct version of SQL Server Migration Assistant. If you have 32-bit Microsoft Access installed, then you will need to use 32-bit version of the Migration Assistant. In order to use 64-bit version of Migration Assistant, you will need to install 64-bit Microsoft Access components available at https://go.microsoft.com/fwlink/?linkid=834402.
    An error occurred while loading database content.

Jeg gætter på det er pga jeg ikke har Runtime installeret.
Jeg rejste spørgsmålet her på experten om runtime kunne installeres.
Det kan det ikke uden Office 16 Click to run fjernes og det kan ikke lade sig gøre uden office 365 afinstalleres.

Det er drastisk så Alt dette vil jeg ikke begynde på uden det er nødvendigt
Kan migration programmet køres uden denne drastiske ændring?????
Avatar billede terry Ekspert
24. august 2018 - 13:06 #20
You should not need access runtime installed to use SSMS or upgrade assistant.

Its sound to me as though all your problems are related and your not getting anywhere because you aren't prepared to use time in solving one issue before going on to another.

Going back to your question regarding Access runtime.
https://www.computerworld.dk/eksperten/spm/1024364

I mentioned Access 64 bit. Do you have this installed, if so I would uninstall it and install 32 bit.

In that same question you said
"Det skal bruges til at kunne køre et Access program på en computer der ikke har Access"
So, in my opinion you should have a test PC which does NOT have access on it.

I would consider re-installing your PC form scratch with only the things you need, and NOT 64 bit Access.
Or have a PC which has a clean install, then make an image of it so you can easily go back to a clean install.
You need to be able to simulate an environment similar to what your applications will run on, and I doubt it will be anything like your PC...
Avatar billede per2edb Guru
24. august 2018 - 13:26 #21
Det er 32 bit Access og 32 bit migration og en ren installation
Når jeg gætter på runtime så er det fordi programmet står ved start af installation af migrating. Herudover er linket https://go.microsoft.com/fwlink/?linkid=834402. til runtime!!!
Hvis du siger det ikke er runtime hvor ligger fejlen så?
Avatar billede terry Ekspert
24. august 2018 - 13:57 #22
As I dont have your PC and database I cant say what the problem is.

Have you tried with more than one Access dB, if not I would try with a very simple database first. Its possibly the specific dB which is causing the issue...
Avatar billede terry Ekspert
24. august 2018 - 14:09 #23
Avatar billede fdata Forsker
27. august 2018 - 11:07 #24
Et par kommentarer efter at have gravet lidt i sagen:

Det ser ud til at der er umiddelbart er 3 muligheder:

1. Jeg har testet SSMA, og får samme resultat som per2edb (fejlmeddelelsen) - uanset om man forsøger at migrere en 2000- 2003- eller 2016-Access-database. Søgning på nettet bidrager kun til forhøjet blodtryk :O)

2. Der er mulighed for at eksportere tabeller direkte fra Access - én ad gangen!!
Højreklik på tabellen/Eksporter/ODBC-database
Det kræver at man i forvejen har oprettet en ODBC til sin SQL base (se dog OBS-kommentaren nedenfor).

3. Det er også muligt at importere en række Access tabeller fra SQL Management Studio
Højreklik på databasen/Tasks/Import data

OBS:
Autonummerering felter
- Ved eksport fra Access overføres værdien korrekt og "tælleren" sættes til 1.
- Ved import fra SQL Server overføres værdien først korrekt, hvis man under Edit Mappings har markeret "Enable identity insert"; men tælleren sættes ikke. Man skal ind under tabellens egenskaber og sætte Is Identity under Identity Specification.

Primærnøgle
Denne oplysning overføres ikke. Højreklik på feltet og vælg Set Primary Key.

Ja/Nej felter
I Access er vi vant til at værdierne er -1 og 0. I SQL miljøet er det 1 og 0.
Tjek, at evt. kode tilrettes (f.eks.: If x=-1 Then ...)
Bemærk i øvrigt at Null værdier i Ja/Nej felter ikke er tilladt på SQL Server.

Default værdier
Default værdier overføres ikke (suk!)
Avatar billede terry Ekspert
27. august 2018 - 12:53 #25
I have just installed SQL Express 2017 with SSMS and SSMA on a different PC.

Nothing at all special with this or the first PC ;-)

I have no problem at all migrating dB's to SQL Server, and I'm sure that if I installed on another PC I have it would also work.
Avatar billede fdata Forsker
27. august 2018 - 17:01 #26
Weird !!!!

Har nu prøvet at re-installere alle programmer - dog ikke på en helt ren pc.

SQL Server Express og SSMS: Ingen problemer

SSMA Setup derimod meddeler: "Required Component(s) Missing".
Mere specifikt: DAO biblioteker (og det er jo nok præcis dem, der umuliggør brugen af SSMA som beskrevet ovenfor)

Klikker man Download føres man over til en download af Microsoft Access 2016 Runtime. Her kan man vælge mellem 32- eller 64-bit versionen.

- Vælger man 32-bit bliver man stoppet med en besked om at installationen ikke kan gennemføres, idet der er fundet 64-bit Office komponenter.

- Vælger man 64-bit bliver man stoppet med en besked om at installationen ikke kan gennemføres, idet der er fundet 32-bit Office komponenter.

Catch 22 !!!

Terry >>> Var der allerede installeret en Office 365 på din pc INDEN din test?
Avatar billede terry Ekspert
27. august 2018 - 19:22 #27
I dont have Office 363 and I'd find it very strange if that is the issue.
Avatar billede terry Ekspert
27. august 2018 - 19:42 #28
I dont have any experience with Office 365 but I understand it to be normal desktop versions of the Office applications, and also online versions.
So I would assume that the desktop versions are just the same as other versions of Office.

Just looking at this link
https://techcommunity.microsoft.com/t5/Access/Microsoft-SQL-Server-Migration-Assistant-v7-7-for-Access-now/td-p/175937

One of the comments mentioned "a Click to Run (Office 365) version of Access 32-bit."
No idea what that is, but further on it says that they also had to install a runtime version.... but they didnty get the error about which version.

So a silly question is, do we have a mix of 32 and 64 bit office installed?
Avatar billede fdata Forsker
28. august 2018 - 12:43 #29
Good news:
Ja, der lå en 64-bit komponent (Office 16 Click-to-Run Extensibility Component 64-bit Registration), som ikke var på "Fjern program" listen. Fandt info her:
https://answers.microsoft.com/en-us/msoffice/forum/msoffice_install-mso_win10/office-16-click-to-run-extensibility-component-64/e79ee5bd-f119-4808-9bb2-289dd815b76a

Bad news:
Installationen af Access Runtime starter nu; men stopper med (forkortet):
Microsoft Office Installer stødte på et problem. Du har Office 365, som ikke er kompatibel med Runtime versionen. There can be only one! (citat: Highlander)

... og så er vi tilbage til #19

Tilsyneladende ligger de nødvendige (manglende) DAO komponenter i Runtime pakken; men ikke i en standard Office 365 pakke.
Det er jo helt uforståeligt, at man skal tvinges til at downloade en komplet Office Runtime for at få installeret et par DAO komponenter - og dermed skulle afinstallere sin Office pakke!!!
Avatar billede terry Ekspert
28. august 2018 - 13:16 #30
According to the link I gave in #28, they had a 32 bit Click-To-Run, do you have that?
They also installed 2013 Runtime and not 2016, this could be the trick...
Avatar billede terry Ekspert
28. august 2018 - 13:23 #31
Avatar billede fdata Forsker
28. august 2018 - 15:49 #32
THAT'S IT !!!
Case closed.

Install Runtime 2013 - and there's not a dry eye  ;O)
Terry, you're a star

(And yes, a standard Office 365 Click-To-Run is always 32 bit)

>> per2edb: Så er vejen ryddet. God fornøjelse
Avatar billede fdata Forsker
28. august 2018 - 16:14 #33
OBS (suk)

Når Access Runtime er installeret, associeres .accdb filer med den senest installerede Access, altså Runtime versionen!

... og hvis Access Runtime 2013 så afinstalleres, virker SSMA ikke igen (DAO komponenterne fjernes tilsyneladende igen).

Microsoft, altså!
Avatar billede terry Ekspert
28. august 2018 - 16:28 #34
"Når Access Runtime er installeret, associeres .accdb filer med den senest installerede Access, altså Runtime versionen!"


I'm sure that the association can be changed, and if not open using a batch file using proper access.
Or "Open with.."
Avatar billede terry Ekspert
28. august 2018 - 16:31 #35
Or first install runtime then 365 then ...this and then that ....
Avatar billede terry Ekspert
28. august 2018 - 16:43 #36
If DAO isn't included in Office 365 then that must mean that dB's using DAO will fail, is that right? Dont see anything smart in that..
Avatar billede fdata Forsker
28. august 2018 - 17:50 #37
I VBA kan man oprette en reference til "Microsoft DAO 3.6 Object Library"
(Men den kan SSMA tilsyneladende ikke se).
The plot thickens  ;O)
Avatar billede terry Ekspert
29. august 2018 - 11:24 #38
After making some enquiries I have been told that Dao and jet sp8 are already included in all OS since XP.
But it may be possible that these get uninstalled/broken if a program which uses these gets uninstalled. Which results in having to installed, for example, Access runtime.

Is it possible that that's what's happened?
Avatar billede fdata Forsker
29. august 2018 - 13:39 #39
I think not.

Som du kan se i #26 manglede DAO allerede inden hele Runtime cirkusset.
På den aktuelle pc er der installeret en Office 365.
Der har aldrig været installeret eller afinstalleret andre Office pakker.
Avatar billede terry Ekspert
29. august 2018 - 14:19 #40
I didn't think so either.

Is it possible for you try installing https://www.microsoft.com/en-us/download/details.aspx?id=2990

After uninstalling Access runtime?

Before installing Jet 4.0 which contains DAO try using SSMA to confirm it fails. Then install Jet 4.0 and see how it goes.
Avatar billede fdata Forsker
30. august 2018 - 12:25 #41
SSMA is a no go after unstalling Access Runtime.
Error: Hentning af COM-klassefabrikken for komponenten ...
We expected that.

And - sorry to say - no luck with Jet 4.0 Service Pack 8 (SP8) for Windows Millennium Edition (good old Millenium)
Error: Missing C:\Windows\system32\sucatreg.exe
Avatar billede terry Ekspert
30. august 2018 - 12:48 #42
I've installed a PC with 64 bit OS and SQL Server Express. Also trying to download a free 1 month installation of Office 365 but dont seem to be able to even though they show a link to it :-(

Anyway, once installed I'll have a play around.... Have other ideas.
Avatar billede terry Ekspert
30. august 2018 - 14:26 #43
Windows 10 64 bit (necessary for SQL Server)
SQL Server Express 2017
Office 365 32 bit
now install "Microsoft Access Database Engine 2010 Redistributable" 32 bit version
https://www.microsoft.com/en-us/download/details.aspx?id=13255
(file name AccessDatabaseEngine)
You can now install SSMA 32 bit version (file name SSMAforAccess_7.9.0_x86)
Avatar billede fdata Forsker
30. august 2018 - 16:23 #44
Ha ha ha.
It works!!!
Of course. When trying to fix a 2016 problem (carelessness from Microsoft), you shouldn't install 2016 or 2013 components.
Nope, use the old 2010 components ;O) ;O)

Terry, well done!
I think it's time to close the thread and let per2edb reap the benefits of our common "detective" effort .
Avatar billede terry Ekspert
30. august 2018 - 16:39 #45
Well hopefully others will also benefit from our efforts too ;-)
Dont understand why these components arent included with Office 365 though
Avatar billede per2edb Guru
16. september 2018 - 11:47 #46
Hej Terry og fdata
Efter ferie vil jeg nu prøve igen. Jeg har læst hvad i skriver.
Jeg tror der er enorm interesse for en samling "køreplan" der beskriver step by step
hvad man skal downloade (angiv link) og hvordan det skal opsættes så Access 2016 kan benytte SQL server 2017 Express som "motor"
Hvis i kan lave det vil jeg stemme for i udnævnes til professorer
Avatar billede terry Ekspert
16. september 2018 - 14:59 #47
"Hvis i kan lave det vil jeg stemme for i udnævnes til professorer" ;-)

But I'm already eksperten, what am I getting out of it :-)
Avatar billede fdata Forsker
16. september 2018 - 17:51 #48
Se #43
Der har Terry samlet det hele op.
Avatar billede per2edb Guru
17. september 2018 - 14:22 #49
Jeg har installeret programmerne uden de gav fejl
Men der kan ikke etableres forbindelse fra Migration  Assisten til SQL Servet 2017 express
Der svares der ikke er netværksforbindelse til serveren?

Jeg har installeret Serveren uden SSMS er det ok eller skal den med?
Jeg har ikke lavet nogen speciel opsætning af servern blot fulgt anvisningerne.
Er det ok eller skal der laves en speciel opsætning?

Jeg har opsat SQL Serveren efter office365 er installeret (Ikke før) er det fejlen?
Avatar billede terry Ekspert
17. september 2018 - 16:59 #50
Well I cant answer why there is no network connection to the SQL Server but if you install SSMS which I suggest you do as this is where you maintain your tables etc.
Once this is installed you can try connecting to your SQL Server from SSMS and if that works create a dB which you need to migrate your Access dB to.

I would  think its OK to install Office 365 at any stage.
Avatar billede per2edb Guru
17. september 2018 - 18:25 #51
Jeg har nu i SSMS opretted et db navn
I Migration Ass. har jeg nu fået loded alle mine tabeller ed ok resultat
Men hvad nu i Access???
Jeg går til Ny datakilde > Fra SQL server > Import kildedataene ...
Så popper denne op:
File Data source - Machine data source
Herunder DSN Name  <== Hvad skal der stå her
Avatar billede terry Ekspert
17. september 2018 - 19:25 #52
I cant see how you are using SSMS but the easiest way is to use the Migration Wizard.
When the wizard is finished your access tables are now in SQL Server and you can see they are now linked tables in your access dB
Avatar billede per2edb Guru
17. september 2018 - 20:59 #53
Jeg kan se tabellerne i SSMS men jeg kan ikke se nogen link i Access!
Som jeg forstår dig skal jeg ikke lave noget i Access for at få forbindelse eller skal jeg gøre noget - og i så fald hvad?
Avatar billede terry Ekspert
18. september 2018 - 09:02 #54
All you need to do in SSMS is run the migration wizard, forget everything else about SSMS. Its the wizard which migrates the Access tables to SQL Server and then replaces the local Access tables with linked tables.
If you dont run the wizard nothing will change.
Avatar billede per2edb Guru
18. september 2018 - 09:09 #55
Jeg så ikke ordentlig efter. Når man i Access scroller nedad kommer der tabeller
Der er 3 typer
1  nogle af de "Gamle"  med oprindelig symbol som et gried
2  De samme men med SSMA$ foran tabelnavnet og &local efter
3  Symbol Globus med en blå pil

Under opstart kommer denne fejlmeddeelse:  (3622)

Du skal bruge indstillingen
dbSeeChanges med openRecordset ved adgang til en SQL Server-tabel der har en IDENTITY-kolonne
Avatar billede terry Ekspert
18. september 2018 - 09:35 #56
The Migration wizard migrates your Access tables to SQL Server, it doesnt do anything with your code or anything else for that matter. So you may have to make other changes to get it working correctly and I cant help you with that.

You can google error 3622 f.eks.
https://www.experts-exchange.com/questions/28929045/Access-2016-Error-3622.html
Avatar billede terry Ekspert
18. september 2018 - 09:38 #57
If your dB is complex you can expect a lot of work to get it running 100%. As I think I have mentioned, converting to SQL Server isnt going to solve all your problems and it will require a good understanding of SQL Server which is far more complex than Access.

Now I think its time to close this thread ;-)
Avatar billede fdata Forsker
18. september 2018 - 10:38 #58
Hvor du tidligere åbnede et recordset med:
    Set Rst = Db.OpenRecordset("MinTabel")
skal du ændre det til:
    Set Rst = Db.OpenRecordset("MinTabel", dbOpenDynaset, dbSeeChanges)
Avatar billede per2edb Guru
18. september 2018 - 11:34 #59
Tak fdata. Det løste problemet
Jeg lukker nu og takker Terry og fdata mange gange for hjælpen
Jeg ved det har været mange spørgsmål men som fdata skriver var der en grund.
Hvem kunde vide (andre end MS) at AccessDatabaseEngine skulle bruges
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

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