Discussion:
Skad ADODB.dll
(Wiadomość utworzona zbyt dawno temu. Odpowiedź niemożliwa.)
KTMajew
2006-05-30 09:32:08 UTC
Permalink
Witam.
Skąd zainstalować na WinXP bibioteki związane z ADODB?
Chodzi o przeniesie programu na inny komputer, na którym jest sam WinXP.

Jak zarejestrować pliki DLL jeśli nie ma RegSrv.exe?

Za informacje serdecznie dziękuję.

Pozdrawiam

KTMajew
mojeza
2006-05-30 11:56:51 UTC
Permalink
http://msdn.microsoft.com/data/ref/mdac/downloads/default.aspx
KTMajew
2006-05-30 12:40:32 UTC
Permalink
Juz wczesniej sciagnalem i "zainstalowalem" MDAC 2.7, ale po "zainstalowaniu
poprawnym" przeszukalem dysk i tak jakby nie zainstalowalo, bo pliku
ADODB.dll nie znalazlem.
Czemu sie tak stalo?

Pozdrawiam

KTMajew
KTMajew
2006-05-30 12:44:18 UTC
Permalink
Gdzie mozna znalezc informacje o zainstalowanej wersji MDAC?

Pozdrawiam

KTMajew
Tomasz Tobola
2006-05-30 17:53:21 UTC
Permalink
Post by KTMajew
Gdzie mozna znalezc informacje o zainstalowanej wersji MDAC?
Pozdrawiam
KTMajew
Wlasciwosci pliku
C:\Program Files\Common Files\System\ado\msado15.dll

pzdr
TobiTOM
Tomasz Tobola
2006-05-30 17:56:23 UTC
Permalink
Post by KTMajew
Jak zarejestrować pliki DLL jeśli nie ma RegSrv.exe?
RegSvr32.exe
http://support.microsoft.com/kb/q249873/

pzdr
TobiTOM
Robert Winkler
2006-05-30 18:41:22 UTC
Permalink
Post by KTMajew
Skąd zainstalować na WinXP bibioteki związane z ADODB?
Chodzi o przeniesie programu na inny komputer, na którym jest sam WinXP.
ADODB.dll to interop assembly opakowujace w kod zarządzany
funkjonalność oferowaną przez Microsoft ActiveX Data Object (ADODB)
Post by KTMajew
Jak zarejestrować pliki DLL jeśli nie ma RegSrv.exe?
Tej biblioteki nie rejestruje się,
podobnie jak pozostałych bibliotek zarządzanych
jeśli są wykorzystywane przez zarządzana aplikacje.

Jeśli nie przekonałeś sie do brodziejstw ADO.NET i dalej używasz ADODB
w stoich .NET'owych aplikacjach to nie pozostaje ci nic innego jak
razem ze swoja aplikacją dystrybuować to assembly.

Instalując środowisko developerskie Visual Studio
tworzony jest na twoim dysku katalog
(przy standardowych ustawieniach systemu)
c:\Program Files\Microsoft.NET\Primary Interop Assemblies\
Znajdziesz tam właśnie plik adodb.dll,
który mozesz dystybuować ze swoją aplikacja.

PS.
W przypadku środowiska .NET nie jest konieczna rejestracja
bibliotek wymaganych do uruchmienia danego programu,
(poza obecnościa odpowiednierj wersji .NET Framework'a)
wystarczy jest tylko obecność uzywanych bibliotek
w katalogu z którego uruchamiany jest program
Dotyczy tych które nie znajdują sie w dystrybucji samego Framework'a

PS.2
Jeżeli jakdnak z biblioteki .NETowej korzysta wiecej aplikacji
a chciałbyś zaoszczędzić miejsce na dysku
to możesz poprosić Framework'a aby przechował ja w Global Assembly Cache
Służy do tego program gacutil.exe
--
____________
Robert Winkler
KTMajew
2006-05-31 05:20:05 UTC
Permalink
Witam.
Przeniosłem razem z programem plik ADODB.dll i po uruchomieniu pokazał się
poniższy komunikat.
O co w nim chodzi?

Pozdrawiam

KTMajew

See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.IO.FileLoadException: The located assembly's manifest definition with
name 'ADODB' does not match the assembly reference.
File name: "ADODB"
at PZU_PPE.ktm_formPZU.Form1_Load(Object sender, EventArgs e)
at System.Windows.Forms.Form.OnLoad(EventArgs e)
at System.Windows.Forms.Form.OnCreateControl()
at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl()
at System.Windows.Forms.Control.WmShowWindow(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ContainerControl.WndProc(Message& m)
at System.Windows.Forms.Form.WmShowWindow(Message& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg,
IntPtr wparam, IntPtr lparam)

=== Pre-bind state information ===
LOG: DisplayName = ADODB, Version=7.0.3300.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a
(Fully-specified)
LOG: Appbase = D:\PZU\
LOG: Initial PrivatePath = NULL
Calling assembly : PZU-PPE, Version=1.0.2340.17686, Culture=neutral,
PublicKeyToken=null.
===

LOG: Publisher policy file is not found.
LOG: Host configuration file not found.
LOG: Using machine configuration file from
C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\config\machine.config.
LOG: Post-policy reference: ADODB, Version=7.0.3300.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a
LOG: Attempting download of new URL file:///D:/PZU/ADODB.DLL.
WRN: Comparing the assembly name resulted in the mismatch: NAME



************** Loaded Assemblies **************
mscorlib
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.2032
CodeBase:
file:///c:/windows/microsoft.net/framework/v1.1.4322/mscorlib.dll
----------------------------------------
PZU-PPE
Assembly Version: 1.0.2340.17686
Win32 Version: 1.0.2340.17686
CodeBase: file:///D:/PZU/PZU-PPE.exe
----------------------------------------
System.Windows.Forms
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.2032
CodeBase:
file:///c:/windows/assembly/gac/system.windows.forms/1.0.5000.0__b77a5c561934e089/system.windows.forms.dll
----------------------------------------
System
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.2032
CodeBase:
file:///c:/windows/assembly/gac/system/1.0.5000.0__b77a5c561934e089/system.dll
----------------------------------------
Microsoft.VisualBasic
Assembly Version: 7.0.5000.0
Win32 Version: 7.10.6001.4
CodeBase:
file:///c:/windows/assembly/gac/microsoft.visualbasic/7.0.5000.0__b03f5f7f11d50a3a/microsoft.visualbasic.dll
----------------------------------------
System.Drawing
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.2032
CodeBase:
file:///c:/windows/assembly/gac/system.drawing/1.0.5000.0__b03f5f7f11d50a3a/system.drawing.dll
----------------------------------------

************** JIT Debugging **************
To enable just in time (JIT) debugging, the config file for this
application or machine (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the machine
rather than being handled by this dialog.
KTMajew
2006-05-31 05:39:17 UTC
Permalink
Witam.
Udało się (musiałem zmienić nazwę ADODB.dll na Interop.ADODB.dll), ale nie
rozumiem jednego.
W referencjach wybrałem Microsoft ActiveX Data Object 2.8 Library, co
wskazuje na plik msado15.dll, a potem aplikacja próbuje wywołać
Interop.ADODB.dll.
Czemu następuje ta zmiana?

Pozdrawiam

KTMajew
Robert Winkler
2006-05-31 06:14:25 UTC
Permalink
Post by KTMajew
Udało się (musiałem zmienić nazwę ADODB.dll na Interop.ADODB.dll), ale nie
rozumiem jednego.
W referencjach wybrałem Microsoft ActiveX Data Object 2.8 Library, co
wskazuje na plik msado15.dll, a potem aplikacja próbuje wywołać
Interop.ADODB.dll.
Czemu następuje ta zmiana?
msado15.dll to biblioteka COM'owa
Aplikacje pisane w środowisku .NET nie potafią bezpośrednio odwoływać sie
do tego typu bibliotek, dlatego też potrzebują warstwy pośredniej
właśnie bibliotek COM interop,
bedących wraperem łączącym świat COM'owy z .NET'owym
Jak każda warstwa pośrednia, interop assembly spowalnia operacje na bazie
danych
w porównaniu z czysto .NET-owym ADO.NET, które to w przypadku niektórych
rodzji źródeł danych odwołuje sie do nich za pomocą bibliotek OLEDB,
albo natywnych bibliotek danej bazy a niektórych przypadkach nawet
bezpośrednio
poprzez warstwe sieciową.
--
____________
Robert Winkler
KTMajew
2006-05-31 05:52:55 UTC
Permalink
Witam.
Mam kolejny problem z moją aplikacją.
Po przeniesieniu na inny komputer na dysk lokalny i umieszczeniu tam
katalogu z bazą danych dBase4 wszystko ładnie działa.

Jednak jak przeniosę ten program i katalog bazy danych do katalogu na
serwerze Novell'a następuje poniższy błąd.
Jak jemu zaradzić?

Dziekuję za pomoc i pozdrawiam

KTMajew

See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.Security.SecurityException: Request for the permission of type
System.Security.Permissions.SecurityPermission, mscorlib,
Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 failed.
at PZU_PPE.ktm_formPZU.Form1_Load(Object sender, EventArgs e)
at System.Windows.Forms.Form.OnLoad(EventArgs e)
at System.Windows.Forms.Form.OnCreateControl()
at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl()
at System.Windows.Forms.Control.WmShowWindow(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ContainerControl.WndProc(Message& m)
at System.Windows.Forms.Form.WmShowWindow(Message& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg,
IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.2032
CodeBase:
file:///c:/windows/microsoft.net/framework/v1.1.4322/mscorlib.dll
----------------------------------------
System
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.2032
CodeBase:
file:///c:/windows/assembly/gac/system/1.0.5000.0__b77a5c561934e089/system.dll
----------------------------------------
System.Drawing
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.2032
CodeBase:
file:///c:/windows/assembly/gac/system.drawing/1.0.5000.0__b03f5f7f11d50a3a/system.drawing.dll
----------------------------------------
PZU-PPE
Assembly Version: 1.0.2340.17686
Win32 Version: 1.0.2340.17686
CodeBase: file:///P:/Kozak/PPE/Rejestrator%20PZU-PPE/PZU-PPE.exe
----------------------------------------
System.Windows.Forms
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.2032
CodeBase:
file:///c:/windows/assembly/gac/system.windows.forms/1.0.5000.0__b77a5c561934e089/system.windows.forms.dll
----------------------------------------
Microsoft.VisualBasic
Assembly Version: 7.0.5000.0
Win32 Version: 7.10.6001.4
CodeBase:
file:///c:/windows/assembly/gac/microsoft.visualbasic/7.0.5000.0__b03f5f7f11d50a3a/microsoft.visualbasic.dll
----------------------------------------

************** JIT Debugging **************
To enable just in time (JIT) debugging, the config file for this
application or machine (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the machine
rather than being handled by this dialog.
Robert Winkler
2006-05-31 06:48:40 UTC
Permalink
Post by KTMajew
Witam.
Mam kolejny problem z moją aplikacją.
Po przeniesieniu na inny komputer na dysk lokalny i umieszczeniu tam
katalogu z bazą danych dBase4 wszystko ładnie działa.
Jednak jak przeniosę ten program i katalog bazy danych do katalogu na
serwerze Novell'a następuje poniższy błąd.
Jak jemu zaradzić?
A gdzie tu jest błąd?
W środowisku .NET na wzór przeglądarki internetowej
wydzielono 5 strefy bezpieczeństwa uzależniające prawa z którymi
wykonywany jest kod od pochodzenia tego kodu
Pierwsza to localhost, kod uruchamiany z dysku lokalnego ma pełne prawa
dostepu do zasobów komputera.
Druga to Intranet, obejmuje kod uruchamiany z zasobów sieciowych
zlokalizowanych w lokalnym intranecie, nie może on wykonywać niekótrych
operacji
które mozliwe są dla kodu uruchamianego z dysku lokalnego
(np. brak jest dostepu do baz danych)
Trzecia strefa to Internet i jeszcze mniejszych prawach niż Intranet.
Ostatnie 2 grupy to witryny internetowe zaufane i niezaufane
(określane na podstawie ustawień Internet Explorer'a)

Ustawienia bezpieczeństwa można oczywiście zmienić.
Biblioteki .NET-owe mozna rozpoznawać na podstawie informacji o wydawcy
kodu,
bezwzględnej lokalizacji plików (URL), silnej nazwy,
skóty (odcisku) podpisu za pomocą którego zostały opieczętowane biblioteki.
Mogąc na podstawie którejś z tych sygnatur (albo ich kompinacji)
określić jednoznacznie daną biblioteke można dostosować dla jej potrzeb
uprawnienia.
Zrobić może to administrator za pomocą konsoli mscorcfg.msc
lub za pomocą programu caspol.exe uruchamianego z linni poleceń.
Po skorygowaniu uprawnień administrator może za pomocą konsoli mscorcfg.msc
przygotować pakiet MSI zawierający nowe korporacyjne zasady bezpieczeństwa
i rozdystrybuować go wśród pracowników za pomocą na przykład GPO (Group
Policy)
w domenie Active Directory
--
____________
Robert Winkler
Loading...