ADO
5 отговора
194 прегледа
ADO
Имам си една Аксеска БД, сетнал съм и паролка... Такааа
Искам да я свържа с някакво приложение примерно на Delphi 5.0.
1. Какво да избера ОDBC,ADO или BDE?
2. Според мен директно чрез ADO (без ODBC) e най-добре.
Ама MS Jet 4.0 ми иска да правя "workgroup file",
Правя system.mdw няква програмка от Офиса и пак
пробвам връзката ... пак ми дава грашката:
"дрън..дрън... The workgroup information file го няма ли е
отворен от друг юзер".... Каде го търси този файл и какво трябва
да има в него?
................................................................
Искам да я свържа с някакво приложение примерно на Delphi 5.0.
1. Какво да избера ОDBC,ADO или BDE?
2. Според мен директно чрез ADO (без ODBC) e най-добре.
Ама MS Jet 4.0 ми иска да правя "workgroup file",
Правя system.mdw няква програмка от Офиса и пак
пробвам връзката ... пак ми дава грашката:
"дрън..дрън... The workgroup information file го няма ли е
отворен от друг юзер".... Каде го търси този файл и какво трябва
да има в него?
................................................................
Re: ADO
а не трябва ли първо да си регистрираш тая базичка като data source? сещаш се - от Administrations->ODBC и т.н.
стой та гледай
стой та гледай
Re: ADO
... Nali tova e ideiata, da ne se zanimavam s ODBC,
Direktno MyApp-> ADOConnection->*.mdb ....
Direktno MyApp-> ADOConnection->*.mdb ....
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
нещо такова:
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
Re: ADO
.... нали това е идеята на MS Jet Engina, да не ползва дриверите на ODBC.
Схемата е:
MyApp--->ADO*.DLL->my_access.mdb
Схемата е:
MyApp--->ADO*.DLL->my_access.mdb
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
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