Jag får inte vissa SQL-kommandon att gå igenom när jag kör mot en ACCESS-databas via ADO. Det är så att jag skall skapa och ändra kolumner i tabeller. Får bl.a fel när jag skall sätta ett standardvärde för en kolumn så här: Har hittat lösningen tror jag. Det verkar vara själva anslutningssträngen som felade. Körde med en vanlig fil-dns för access och det verkar ju inte fungera. Följande anslutningssträng fungerade dock:CREATE /ALTER -table
ALTER TABLE MyTable
ALTER COLUMN [MyColumn] char(20) DEFAULT 'test' (Har testat med eller utan ' eller " runt värdet)
Men detta fungerar bra mot MS-SQL-server. Det jag tycker är mest konstigt är att jag tittat hur MS själva tycker att det skall skrivas på:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnacc2k/html/acintsql.asp
Där finns det massor av exempel som inte fungerar för mig via ADO.
Sedan har inte hittat något namn för att scripta fram datatypen decimal utan får som närmast double.
Använder XP, ACCESS 2002, ASP, ADOSv: CREATE /ALTER -table
Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=D:\temp\ACCESS.mdb;Mode=Share Deny None;Extended Properties="";Jet OLEDB:System database=C:\Program\DELADE~1\System\SYSTEM.MDW;Jet OLEDB:Registry Path=SOFTWARE\Microsoft\Office\10.0\Access\Jet\4.0;Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False
...grymt lång med det fungerar fint. Helt plötsligt så kan jag skapa decimaler och en massa anant som tidigare inte fungerade :)