Autor Téma: Napojení na SQL Server Compact  (Přečteno 3914 krát)

Offline pepak

  • Padawan
  • ******
  • Příspěvků: 1559
  • Karma: 37
    • Pepak.net
Napojení na SQL Server Compact
« kdy: 11-07-2012, 10:38:34 »
Z určitých důvodů, které nechci řešit, se zabývám otázkou, jak z Delphi přistupovat k databázi postavené na Microsoftím SQL Server Compact v lokálním režimu (server není nainstalovaný, ale nese si ho aplikace s sebou ve svém adresáři). Nemáte s tím někdo zkušenosti? Já mám zatím dost problém vůbec přijít na to, kudy do toho - tutorialy jsou vesměs dělané pro Visual Studio a aplikace v .net, pro Delphi jsem našel jen velmi kusé zmínky (jako že se k tomu dá připojit přes ADO prostřednictvím connection stringu typu
Provider=Microsoft.SQLSERVER.CE.OLEDB.4.0;Data Source=C:\aplikace\data.sdf; - ale nějak není řešeno, jak se Windows dozví, že tenhle provider je řešen pomocí DLL C:\aplikace\sqlcese40.dll).

Pro jistotu: Nemám zájem o řešení s žádnou jinou embeddovanou databází. Pokud by došlo na to, že SQL Server Compact nelze použít, tak využiji svá vyzkoušená řešení (nejspíš embedded Firebird). Teď ale potřebuju prozkoumat cestu s Compactem.

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 6163
  • Karma: 44
    • Verze Delphi: W10 + D11
Re:Napojení na SQL Server Compact
« Odpověď #1 kdy: 11-07-2012, 10:48:56 »
Pridávam sa k otázke.
Tiež ma to zaujímalo, ale nedostal a nenašiel som odpoveď. Snáď sa teraz riešenie nájde.
W10 64b, Delphi 10.4, FireBird 3.08
Expert na kladenie nejasne formulovaných otázok.

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 3006
  • Karma: 108
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Re:Napojení na SQL Server Compact
« Odpověď #2 kdy: 11-07-2012, 12:32:32 »
Ono to jde? Ja myslel, ze se musi instalovat. Dival jsem se na http://www.connectionstrings.com/sql-server-2005-ce  a nic.

Mas odkaz na nejaky tutorial pro .NET?
Embarcadero MVP - Czech republic

Offline pepak

  • Padawan
  • ******
  • Příspěvků: 1559
  • Karma: 37
    • Pepak.net
Re:Napojení na SQL Server Compact
« Odpověď #3 kdy: 11-07-2012, 13:05:45 »
Podle toho, co Microsoft píše, by nemělo být potřeba to instalovat. Ale všechny návody, na které jsem narazil, předpokládají, že to nainstalované je.

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 3006
  • Karma: 108
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Re:Napojení na SQL Server Compact
« Odpověď #4 kdy: 11-07-2012, 14:56:07 »
Hmm, http://msdn.microsoft.com/en-us/library/aa983326.aspx sekce Private File–Based Deployment

podle mne je klíčový bod 12. Select System.Data.SqlServerCe.

Ten podle mne zavede DLL a udělá další věci. No a potřebuješ něco podobného pro Delphi. Díval jsem se na UniDac a ten to neumí.
Embarcadero MVP - Czech republic

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 3006
  • Karma: 108
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Re:Napojení na SQL Server Compact
« Odpověď #5 kdy: 11-07-2012, 15:05:58 »
http://www.da-soft.com/forums/anydac-general-english/anydac-and-sql-server-compact-edition-4.0.html :
SQL Server CE has only .Net and OLEDB providers. And does not have ODBC driver.

Takže bez instalace to v Delphi asi jednoduše nepůjde.

Embarcadero MVP - Czech republic

Offline Fala

  • Plnoletý
  • ***
  • Příspěvků: 168
  • Karma: 2
    • Verze Delphi: XE2
    • Software pro poskytování technické podpory
Re:Napojení na SQL Server Compact
« Odpověď #6 kdy: 11-07-2012, 16:01:46 »
Pro tyto účely používám Firebird Embeded, funguje skvěle

Offline Mi.Chal.

  • Guru
  • *****
  • Příspěvků: 576
  • Karma: 25
Re:Napojení na SQL Server Compact
« Odpověď #7 kdy: 11-07-2012, 19:31:33 »
http://www.da-soft.com/forums/anydac-general-english/anydac-and-sql-server-compact-edition-4.0.html :
SQL Server CE has only .Net and OLEDB providers. And does not have ODBC driver.

Takže bez instalace to v Delphi asi jednoduše nepůjde.

jak si na to přišel? Ta věta říká jenom , že to nepůjde přes ODBC. V Delphi ale můžeš použít oledb provider.

Pepak: co to teda dělá s tím connection stringem?

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 3006
  • Karma: 108
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Re:Napojení na SQL Server Compact
« Odpověď #8 kdy: 12-07-2012, 10:02:55 »
Podle mne abys mohl pouzit OLEDB, tak system musi znat informace o tom, ze Compact Server je instalovan, nebo se v tom connection stringu musi nejak specifikovat umisteni DLL (a to jsem nikde nenasel).
Embarcadero MVP - Czech republic

Offline pepak

  • Padawan
  • ******
  • Příspěvků: 1559
  • Karma: 37
    • Pepak.net
Re:Napojení na SQL Server Compact
« Odpověď #9 kdy: 12-07-2012, 11:32:29 »
Podle mne abys mohl pouzit OLEDB, tak system musi znat informace o tom, ze Compact Server je instalovan, nebo se v tom connection stringu musi nejak specifikovat umisteni DLL (a to jsem nikde nenasel).
No to si myslím taky, ale Microsoft tvrdí, že se to instalovat nemusí. Takže asi kecá nebo je to polopravda (instalovat se nemusí, ale musí se něco jiného).

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 3006
  • Karma: 108
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Re:Napojení na SQL Server Compact
« Odpověď #10 kdy: 12-07-2012, 12:06:13 »
No já jsem to psal v #4, že si myslím, že pro .NET to zajistí ten jejich provider - System.Data.SqlServerCe
Embarcadero MVP - Czech republic