ADO

5 отговора 194 прегледа
#1

ADO

Имам си една Аксеска БД, сетнал съм и паролка... Такааа
Искам да я свържа с някакво приложение примерно на Delphi 5.0.

1. Какво да избера ОDBC,ADO или BDE?

2. Според мен директно чрез ADO (без ODBC) e най-добре.
Ама MS Jet 4.0 ми иска да правя "workgroup file",
Правя system.mdw няква програмка от Офиса и пак
пробвам връзката ... пак ми дава грашката:
"дрън..дрън... The workgroup information file го няма ли е
отворен от друг юзер".... Каде го търси този файл и какво трябва
да има в него?
................................................................

Отговор
в отговор на LamerSlamer #2

Re: ADO

а не трябва ли първо да си регистрираш тая базичка като data source? сещаш се - от Administrations->ODBC и т.н.

стой та гледай
Отговор
в отговор на lndependent #3

Re: ADO

... Nali tova e ideiata, da ne se zanimavam s ODBC,
Direktno MyApp-> ADOConnection->*.mdb ....

Отговор
в отговор на LamerSlamer #4

Re: ADO

Най-добре е да го направиш чрез код
нещо такова:
Private Sub Form_Load()
Data1.DatabaseName=App.path + "\Твойтабаза.mdb" 'Указваш базата,не таблицата
Data1.RecordSource = "ЖеланаТаблица" 'Можеш да ползваш и sql заявка
End Sub
---------------------------------------------------------------------------------
Private ActiveConnection As String
Private DatabasePath As String
Private Sub Form_Load()
ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" + App.Path + "\Твойтабаза.mdb" 'или Microsoft.Jet.OLEDB.3.51
DatabasePath = App.Path + "\Твойтабаза.mdb"
'Но тука ще трябва да декларираш и Recordset-а за да можеш да направиш sql заявката
End Sub

Отговор
в отговор на lndependent #5

Re: ADO

.... нали това е идеята на MS Jet Engina, да не ползва дриверите на ODBC.
Схемата е:
MyApp--->ADO*.DLL->my_access.mdb

Отговор
в отговор на LmaerSlamer #6

Re: ADO

Pich prosto ne vyvezhdash parolata za bazata na pravilnoto miasto.
JET-a ima extended paramtri v connection stringa, taka che toi triabva da izglezhda neshto ot tipa:
adoConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;" + _
"Password=" + g_strUPassword + ";" + _
"User ID=" + g_strUName + ";" + _
"Data Source=" + g_strDBName + ";" + _
"Mode=Share Deny None;" + _
"Extended Properties="""";" + _
"Jet OLEDB:System database=" + g_strSystemDBPath + ";" + _
"Jet OLEDB:Registry Path="""";" + _
"Jet OLEDB:Database Password=" + g_strDBPassword + ";" + _
"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;"

Ako niamash definirani useri parolata za bazata e v "Jet OLEDB:Database Password="

Probvai go i kazhi dali stava

Отговор