Oglądasz wypowiedzi znalezione dla frazy: Microsoft Access Driver





Temat: Problem z WIN32::ODBC i MS Access (Microsoft ODBC Jet Driver)
Uzywam ActiveState Perl 5.6 na Win NT 4.0 SP4
i biblioteki WIN32::ODBC (wersja dla build 311).

Probowalem sie podlaczyc do Accesowej bazy danych.
Stworzylem DSN w ODBC.

Utworzenie obiektu $db = new WIN32::ODBC("nazwa_DSN");
Nie zwraca bledu, lecz kiedy probuje wylas zapytanie:

$sqlQuerry="select * from MAIN";
if ($db-Sql($sqlQuerry)) {
        $db-DumpError;


}


To dostaje:

---------- Error Report: ----------
Errors for "2" on connection 1:
Connection Number: 1
Error number: -1305
Error message: "[Microsoft][ODBC Microsoft Access Driver] The Microsoft
Jet database engine could not find the object 'XXXX'.
Make sure the object exists and that you spell its name and
the path name correctly."
-----------------------------------

Gdzie XXXX to nazwa ostatniej kolumny w tabeli MAIN.

Ten sam skrypt uruchamialem na bardzo podobnej konfiguracji
(z tym, ze byl to prawie czysty system [moj jest juz nieco zasmiecony]
i podstawowa partucja byla FAT [u mnie jest NTSF]).

W dokumentacji WIN32::ODBC znalazlem, ze Access musi tworzyc tymczasowy
plik, w zwiazku z czym, moga pojawic sie bledy, gdy skrypt nie ma
odpowiednich praw zapisu w katalogu, gdzi jest baza.

O co chodzi? Baza jest w tym samym katalogu, co skrypt, katalog
ma uprawnienia dla wszystkich, skrypt odpalany jest z konta
z lokalnymi prawami administratora.

Kiedys mialem podobna sytuacje, lecz zwiazana z otwieraniem plikow.
Skrypty uparcie twierdzily, ze nie moga otworzyc pliku, bo ten jest
zajety. Okazalo sie (po kilku nieprzespanych nocach), ze powodem
byla usluga serwera POP3, ktorego wymiana od razu pomogla.
Teraz, poza standardowymi uslugami w eNTkach mam tylko OmniHTTPd,
ktorego pozbyc sie nie moge.

Czy ktos juz sie spotkal z podobnym problemem?
Moze ktos zna rozwiazanie? Albo ma jakas sugestie, gdzie
szukac zrodla problemu?

Na perlu znam sie znacznie lepiej niz na szczegolach administracyjnych
winzgrozy NT, a z Accessem zawsze wolalem miec tak malo wspolnego, jak
sie da, lecz coz, na wladze, nie poradze :(((((

TIA za wszelkie podpowiedzi i sugestie (poza RTFM ;)))))

Pozdrawiam

Przeczytaj wszystkie posty z tego wątku



Temat: Wstawianie danych do bazy Access'a - niezgodność pod różnymi systemami
Zrobiłem to tak:

Connection string:
        baza.ConnectionString="Driver={Microsoft Access Driver
(*.mdb)};Dbq=baza.mdb;Uid=Admin; Pwd="

Wrzucanie danych:
         query = "INSERT INTO kategorie VALUES ('.....');"
         baza.RecordSource = query
         baza.Refresh

Nie bardzo to hula, bo generuje błędy (dokładnie metoda Refresh),
niestety, jak usuwam Refresh, dane nie są wrzucane do bazy,
gdy refresh jest - wszystko trafia do bazy ale generuje błędy, więc je
ignoruję (obsł. błędów)
spoko, do zaakceptowania, hula... ale...

Problem jest taki:
- wszystko działa prawidłowo ale tylko na jednym kompie (moim)
- na innych komputerach problem jest bardzo dziwny, mianowicie moja baza ma
dwie tabele,
  do obu tabel dane wrzucam w ten sam sposób (identyczny fragment kodu) jak
opisałem
  powyżej... i do jednej tabeli dane wchodzą do drugiej ani drgnie! (przy
czym na moim kompie
  cały czas hula...)

Uwagi:
- ma to działać na każdym sprzęcie, z tego też powodu dobrałem właśnie taki
Connection String
  nie korzystam z modelu Jet - bo zdarzają się nieścisłości w dystrybucjach
i wersjach, wolę
  nie ryzykować, że coś mi gdzieś nie zadziała
- wyciąganie danych (SELECT...) działa bez najmniejszych problemów na tym
samym strowniku b.d. (!)

Pytanie:
- jak prawidłowo wykonać instrukcję INSERT (żeby sterownik ją łykną) - bez
używania metody Refresh,
  bo ta generuje błedy...
- gdzie sprawdzić wersję tego sterownika b.d. którego używam, żeby ew.
zaktualizować go

Sugestie:
- może zmienić connection string na coś bardziej uniwersalnego?

Zgłupiałem, pomóżcie...
(nie jestem laikiem, więc nie tłumaczcie nic łopatologicznie :))) - tylko
konkrety :)

GG# 1124625
e-mail p@isp.pl

Przeczytaj wszystkie posty z tego wątku



Temat: Ręce opadają...
Witam,

czy kto¶ z Was móg³by wrzuciæ co¶ takiego do VB i podzieliæ siê ze mn±
wynikiem?
Baza Access: Tabela = Team, pola = Name (text, 50), Description (text, 64)
Dane testowe: 1 rekord = Name: Team_1, Description = cokolwiek.

Public con as ADODB.Connection
Public rs as ADODB.Recordset

    con.CursorLocation = adUseClient
    con.IsolationLevel = adXactCursorStability Or adXactReadCommitted
    con.Mode = adModeShareExclusive Or adModeReadWrite
    con.ConnectionString = "DRIVER=Microsoft Access Driver
(*.mdb);UserCommitSync=Yes;Threads=3;SafeTransactions=1;PageTimeout=5;MaxSc­a
nRows=25;MaxBufferSize=2048;FIL=MS Access;DriverId=281;DBQ=" & App.Path &
"data.mdb;UID=Admin;"
    'Open connection to database
    con.Open

    'Initialize recordset object
    Set rs = New Recordset
    'Assign recordset to newly opened connection
    Set rs.ActiveConnection = con
    'Place recordsets cursor location @ client side
    rs.CursorLocation = adUseClient
    rs.LockType = adLockOptimistic

a nastêpnie:

    strSQL = "UPDATE Team SET Name = 'Team_2', Description = 'Changed' WHERE
Name = 'Team_1'"
    con.Execute strSQL

a zaraz pó¼niej

    strSQL = "SELECT Name FROM Team ORDER BY Name ASC"
    rs.Open strSQL, , adOpenForwardOnly, adLockReadOnly

Bedê niezmiernie wdziêczny.
Taki w³a¶nie kod wywo³uje u mnie pad VB.
Mo¿e widzicie b³±d, którego ja nie widzê?

Przeczytaj wszystkie posty z tego wątku



Temat: Dostep z poziomu Javy do bazy *.mdb pod Linuxem
Jasne.Swietny.

Microsoft Access Driver.

Nie wiedzialem ,ze M$ robi drivery pod Linuxa.

Przeczytaj wszystkie posty z tego wątku



Temat: zródła danych odbc
Szukam pomocy dotyczących administratora źródel danych ODBC!
Przy próbie konfiguracji niektórych dannych (Ms access;dbase; excel)
wyskakuje komunikat:

"Nie mozna załadowac procedur konfiguracyjnych sterownika ODCB Microsoft
Access Driver z powodu błedu systemowego o kodzie 31"
oraz
"Nie można załadowac bibloteki ustawień oraz translatora"

Próbowałem to naprawic ponowną instalacją MSOffice ale również wyskakuje
komunikat obłędzie:

"Błąd 1918. Błąd podczas instalowania sterownika ODBC: Microsoft Text Driver
(*.txt; *.csv), błąd ODBC 13: Nie można załadować biblioteki ustawień lub
translatora. Zweryfikuj, czy plik Microsoft Text Driver (*.txt; *.csv)
istnieje i czy masz do niego dostęp.
MSI (c) (C1:79): Produkt: Microsoft Office 2000 SR-1 Professional -- Błąd
1918. Błąd podczas instalowania sterownika ODBC: Microsoft Text Driver
(*.txt; *.csv), błąd ODBC 13: Nie można załadować biblioteki ustawień lub
translatora. Zweryfikuj, czy plik Mi
crosoft Text Driver (*.txt; *.csv) istnieje i czy masz do niego dostęp.

1: Microsoft Access Driver (*.mdb) 2:  3: C:WINDOWSSYSTEM 4: Driver 5:
ODBCJT32.DLL 6: Setup 7: ODBCJT32.DLL 8: APILevel 9: 1 10: ConnectFunctions
11: YYN 12: DriverODBCVer 13: 02.50 14: DSN 15: Baza danych MS Access 97 16:
FileExtns 17: *.mdb 18: FileUsage 19: 2 20: SQLLevel 21: 0 22: UID 23: Admin
Błąd 1918. Błąd podczas instalowania sterownika ODBC: Microsoft Access
Driver (*.mdb), błąd ODBC 13: Nie można załadować biblioteki ustawień lub
translatora. Zweryfikuj, czy plik Microsoft Access Driver (*.mdb) istnieje i
czy masz do niego dostęp.
MSI (c) (C1:79): Produkt: Microsoft Office 2000 SR-1 Professional -- Błąd
1918. Błąd podczas instalowania sterownika ODBC: Microsoft Access Driver
(*.mdb), błąd ODBC 13: Nie można załadować biblioteki ustawień lub
translatora. Zweryfikuj, czy plik Microso
ft Access Driver (*.mdb) istnieje i czy masz do niego dostęp."

dotyczy też kilku innych baz

Wygłąd administratora identyczny jak w drugim kompie

Jak mogę poradzić sobie z tym fantem

Zeb

Przeczytaj wszystkie posty z tego wątku



Temat: .NET i ODBC


Dzieki. Wolalbym jednak na zwyklym ODBC API.
Chce utworzyc dialog. Niestety cos takiego nie dziala:
retcode=SQLDriverConnect(hdbc,hDlg,(SQLCHAR*) "", 0,buf,
10000,&x,SQL_DRIVER_PROMPT);


Ja podaję jako 'connection string' pełną informację o docelowej bazie
danych.
Np. do łączenia się z bazą MS Access:
char * connection_string = "DRIVER={Microsoft Access Driver
(*.mdb)};DBQ=C:\baza.mdb";

Do łączenia się z bazą MS SQL Server:
char * connection_string = "DRIVER={SQL Server};
DATABASE=moja_baza;SERVER=localhost;AutoTranslate=No;Trusted_Connection=Yes;
UseProcForPrepare=2;QuotedId=No;AnsiNPW=No;"

i tak dalej. Generalnie, jeśli podasz jako pierwszy parametr DRIVER=... to
następne parametry dotyczą tylko tego konkretnego sterownika. Jeśli podasz
wszystkie wymagane parametry, to połączy automatycznie, bez potrzeby
wyskakiwania dodatkowych dialogów.
A już największa zaleta tego podejścia, to brak wymogu wpisywania danych do
źródeł danych ODBC w panelu administracyjnym czy też poprzez aplikację.

Fragment kodu:

SQLHENV environment_handle;
SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &environment_handle);
int wersja = SQL_OV_ODBC2;
SQLSetEnvAttr(environment_handle, SQL_ATTR_ODBC_VERSION, (SQLPOINTER)wersja,
0);
SQLHDBC connection_handle;
SQLAllocHandle(SQL_HANDLE_DBC, environment_handle, &connection_handle);
char wynik_polaczenia[4096];
short faktyczna_dlugosc;
SQLDriverConnect(connection_handle, NULL, connection_string,
(short)strlen(connection_string), wynik_polaczenia, 4096,
&faktyczna_dlugosc, SQL_DRIVER_NOPROMPT);

Przeczytaj wszystkie posty z tego wątku



Temat: ODBC - Visual C++ - problem

Nie jestem pewien czy mam rację - bo nie korzystam z Install Shielda, ale
najprawdopodobniej nie instalujesz na docelowym komputerze sterowników DAO.
Mechanizm ODBC - MDB (ACCESS) działa dokładniej (mniej-więcej) :
ODBC32 - DAO  - MDB, Tak więc same sterowniki też muszą być.

Pozdrawiam
Stanisław Kozicki (również piszący mgr...)


Robert Kolud wrote in message <6j3jvk$fc@dino.wsi.edu.pl...
Witam

Pisze program w jezyku Visual C++ do moje pracy mgr
czas mnie goni a napotkalem pewien duzy problem wiec
moze ktos moze mi pomoc. Mianowicie moj program
korzysta z bazy danych Accessa poprzez ODBC.
Wiec to ODBC musi zostac na komputerze docelowym czasem
zainstalowane.
Uzylem do tego programu Install Shield Express 2.
Utworzylem projekt typu - Visual C++.
W programie instalacyjnym mam wlaczane instalowanie
ODBC dla Accessa.
Po zainstalowaniu programu ODBC nie pracuje poprawnie
i zrodlo danych nie zostaje zainstalowane. Gdy
chcialbym recznie je dodac w Panelu Sterowania (32-bit ODBC)
to po wybraniu rodzaju sterownika (Access)
Pojawia sie blad:
The setup routines for The Microsoft Access Driver (*.mdb) ODBC driver
could
not be loaded due to system error code 1157
A nastepnie :
Could not load the setup or translator library.

To samo sie dzieje przy probie instalowania
innego sterownika np dBase
Czy ktos moze mi powiedziec jak z tego wybrnac?
(nie chcialbym korzystac z bazy przez DAO aby
w przyszlosci ewentualnie mozna bylo zmieniac typ bazy)

Robert Kolud
rob@wsi.edu.pl


Przeczytaj wszystkie posty z tego wątku



Temat: (ASP) Dziwny problem z wstawianiem rekordu do bazy
Mam nadzieje że ktoś mi pomoże.

Próbuje wstawić rekord do bazy za pomocą metody  COMMAND
i na serwerze ( jak testuje to lokalnie na PWSie to wszystko jest OK)
wyskakuje mi następujący błąd:

Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Microsoft Access Driver] Operation must use an updateable
query.

Nie mam pojęcia co jest źle !!!

A oto ten kawałek kodu:

---------------
Dim PolaczZBaza1
Dim DaneZBazy
Dim SQL_wpisz
Dim SQL_podglad
Dim PolaczZBazaTowar
Dim DaneZBazyTowar
Dim WstawDoBazy

Set PolaczZBaza1 = Server.CreateObject ("ADODB.Connection")
PolaczZBaza1.Open ("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" &
Server.MapPath("dataaz_danych.mdb"))

Set PolaczZBazaTowar = Server.CreateObject ("ADODB.Connection")
Set DaneZBazyTowar = Server.CreateObject ("ADODB.Recordset")
PolaczZBazaTowar.Open ("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" &
Server.MapPath("dataaz_danych.mdb"))
SQLTowar = "SELECT * FROM towary WHERE id_towaru=" &
Request.QueryString("id_towaru")
DaneZBazyTowar.OPEN SQLTowar, PolaczZBazaTowar, 1, 2

Set WstawDoBazy = Server.CreateObject ("ADODB.Command")
Set WstawDoBazy.ActiveConnection = PolaczZBaza1

SQLTowar = "SELECT * FROM towary WHERE id_towaru=" &
Request.QueryString("id_towaru")
DaneZBazyTowar.OPEN SQLTowar, PolaczZBazaTowar, 1, 2

SQL_wpisz = "INSERT INTO Koszyk (id_klienta, id_towaru, ilosc) VALUES
(?,?,?)"

WstawDoBazy.CommandText = SQL_wpisz
WstawDoBazy.Prepared = TRUE

WstawDoBazy.Parameters.Append WstawDoBazy.CreateParameter ("id_klienta",200,
,255 )
WstawDoBazy.Parameters.Append WstawDoBazy.CreateParameter ("id_towaru",200,
,255 )
WstawDoBazy.Parameters.Append WstawDoBazy.CreateParameter ("ilosc",200,
,255 )

WstawDoBazy ("id_klienta") = Request.Cookies ("id_klienta")
WstawDoBazy ("id_towaru") = Request.QueryString("id_towaru")
WstawDoBazy ("ilosc") = 1

WstawDoBazy.Execute

DaneZBazyTowar.Close
PolaczZBazaTowar.Close
PolaczZBaza1.Close
---------------

Dzięki za pomoc

PS: a może błąd jest po stronie serwera - ale jaki ????

POZdrawiam
Larry

Przeczytaj wszystkie posty z tego wątku



Temat: zawiesznie sie IE i web serwera przy wolaniu ADODB
to nie jest sprawa zle zdefiniowanego polaczenia, przed awarja wszystko
dzialalo, a poza tym jak pisalem w VBAsic okienkowym wszystko dziala. Cos
mysle, ze sie popsulo w IIS lub w rejestrach windowsa, ale przeinstalowanie
IIS nie pomoglo, ponowna rejestracja ADODB tez (choc to chyba bylo dzialanie
bez sensu skoro ADO dziala w innych aplikacjach)
pozdr, Pawel.

przy okazji mam pytanie jak widzicie moje posty wysylane za posrednictwem
bramki email-news (www.newsgate.pl) psuja watki, czy ktos wie jak temu
zaradzic? Pczte wysylam z Outlooka i nie wiem czy to moj program pocztowy
czy bramka gubi referencje do danego watku.


-----Original Message-----
From: Wojciech 'KuRcZaK' Kucia [mailto:kurc@firma.hoga.pl]
Sent: Friday, August 31, 2001 5:00 PM
To: pl-comp-www-server-s@newsgate.pl
Subject: Re: zawiesznie sie IE i web serwera przy wolaniu ADODB

A propowales sie polaczyc nie poprzez plikowy DSN a przez
Connection String
?
Tzn. np. tak o ile to baza MSAccess:
Set Conn=Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver
(*.mdb)};DBQ=c:sciezka_dopliku.mdb;password=robakidziobakiii
nneptaki;Defau
ltDir=c:;DriverId=25;FIL=MS
Access;ImplicitCommitSync=Yes;MaxBufferSize=512;MaxScanRows=8;
PageTimeout=5;
SafeTransactions=0;Threads=3;UserCommitSync=Yes;"

Wojciech Kucia -=[ KuRcZaK ]=-

    __("<    --------- mailto:kurc@firma.hoga.pl ---------<-
    \__/           ---------- http://www.kurczakrally.w.pl
---------<-
     ^^                   ---------------ICQ :  7321839
---------------<-


--
Archiwum grupy: http://niusy.onet.pl/pl.comp.www.server-side

Przeczytaj wszystkie posty z tego wątku



Temat: zawiesznie sie IE i web serwera przy wolaniu ADODB
zastosowales cos takiego jak
objRS.MoveNext
to wiele zmienia

Użytkownik "Pachocki, Pawel" <Pawel.Pacho@f2virt.onet.plnapisał w
wiadomości news:164EA92EE2DDD4
119DA40050DA83578D1E9@mailserver3.domdata.depfa-it.com...

to nie jest sprawa zle zdefiniowanego polaczenia, przed awarja wszystko
dzialalo, a poza tym jak pisalem w VBAsic okienkowym wszystko dziala. Cos
mysle, ze sie popsulo w IIS lub w rejestrach windowsa, ale
przeinstalowanie
IIS nie pomoglo, ponowna rejestracja ADODB tez (choc to chyba bylo
dzialanie
bez sensu skoro ADO dziala w innych aplikacjach)
pozdr, Pawel.

przy okazji mam pytanie jak widzicie moje posty wysylane za posrednictwem
bramki email-news (www.newsgate.pl) psuja watki, czy ktos wie jak temu
zaradzic? Pczte wysylam z Outlooka i nie wiem czy to moj program pocztowy
czy bramka gubi referencje do danego watku.

| -----Original Message-----
| From: Wojciech 'KuRcZaK' Kucia [mailto:kurc@firma.hoga.pl]
| Sent: Friday, August 31, 2001 5:00 PM
| To: pl-comp-www-server-s@newsgate.pl
| Subject: Re: zawiesznie sie IE i web serwera przy wolaniu ADODB

| A propowales sie polaczyc nie poprzez plikowy DSN a przez
| Connection String
| ?
| Tzn. np. tak o ile to baza MSAccess:
| Set Conn=Server.CreateObject("ADODB.Connection")
| Conn.Open "DRIVER={Microsoft Access Driver
| (*.mdb)};DBQ=c:sciezka_dopliku.mdb;password=robakidziobakiii
| nneptaki;Defau
| ltDir=c:;DriverId=25;FIL=MS
| Access;ImplicitCommitSync=Yes;MaxBufferSize=512;MaxScanRows=8;
| PageTimeout=5;
| SafeTransactions=0;Threads=3;UserCommitSync=Yes;"

| Wojciech Kucia -=[ KuRcZaK ]=-

|     __("<    --------- mailto:kurc@firma.hoga.pl ---------<-
|     \__/           ---------- http://www.kurczakrally.w.pl
| ---------<-
|      ^^                   ---------------ICQ :  7321839
| ---------------<-

--
Archiwum grupy: http://niusy.onet.pl/pl.comp.www.server-side


Przeczytaj wszystkie posty z tego wątku



Temat: - Problem z baza w Accesie
Prosty ksiazkowy przyklad, ale nie wiem co sie stalo. Mam taki programik:

________________________________________________________
<%@ LANGUAGE=VBSCRIPT %
<% Option Explicit %
<!--#include virtual="adovbs.inc"--

<HTML
<BODY

<%
 Dim strUser, strPassword, strName, strStreet, strCity, strZip, strMail,
strPhone

 'lacze sie z baza
 Dim objConn
 Set objConn = Server.CreateObject("ADODB.Connection")
 objConn.ConnectionString = "DRIVER={Microsoft Access Driver (*.mdb)};" &
"DBQ=H:Serwer ootaseaza.mdb"
 objConn.Open

 Dim objRS
 Set objRS = Server.CreateObject("ADODB.Recordset")
 objRS.Open "users", objConn, adOpenForwardOnly, adLockOptimistic,
adCmdTable
 objRS.AddNew
 objRS("user") = "strUser"
 objRS("password") = "strPassword"
 objRS("name") = "strName"
 objRS("street") = "strStreet"
 objRS("city") = "strCity"
 objRS("zip") = "strZip"
 objRS("mail") = "strMail"
 objRS("phone") = "strPhone"
 objRS.Update
 objRS.MoveFirst
%

<% Do While Not objRS.EOF %
Uzytkownik <% objRS("user") %zostal dodany do bazy.

<%
 objRS.MoveNext
 Loop
 objRS.Close
 Set objRS = Nothing
 objConn.Close
 Set objConn = Nothing
%

</BODY
</HTML

<!-- POLAMANE LINIE --
_________________________________________________________

a moj problem jest nastepujacy - udalo mi sie raz wlozyc dane do bazy i
pozniej te dane usunalem recznie w Accesie i teraz mam cos takiego:

_________________________________________________________
Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver]General error Unable to open
registry key 'Temporary (volatile) Jet DSN for process 0x2b0 Thread 0x498
DBC 0x13c8024 Jet'.
/zaloz.asp, line 15
_________________________________________________________

Powiedzcie o co chodzi...

Unforgiver

Przeczytaj wszystkie posty z tego wątku



Temat: o co chodzi !!!
IMO

"DRIVER=Microsoft Access Driver (*.mdb);DBQ=" & Server.MapPath("dbf.mdb")

Przeczytaj wszystkie posty z tego wątku



Temat: ASP + prawa dostępu pod NT
Witam!

Niedawno prosiłem Was o pomoc w rozwiązaniu zapisu do bazy Access'a.
Problem udało mi się już rozwiązać poza jednym - głównym.

Wszystkie operacje - podłączenie ADO do bazy, zapis z SQL'a, odczyt danych i
generowanie strony - działają bez zarzutu na stacji roboczej, na której stoi
serwer www (PWS+IIS4). Odczyt działa również na pozostałych stacjach sieci.
Problem pojawia się przy zapisie. ADO wykrzacza się wtedy z następującycm
komunikatem:

Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Microsoft Access Driver] Operation must use an updatable
query

W MS Knowledge Base, w artykule Q175168, napisano, iż problem ten ma cztery
główne źródła:

1. Konto "gościa" dla serwera internetowego używane lokalnie (IUSR_MACHINE)
nie jest rozpoznawane przez pozostałe stacje robocze jako prawidłowe konto
sieciowe. Rozwiązaniem ma być zmiana domyślnego konta klienta na takie,
które istnieje na serwerze domeny, w której znajduje się dana stacja robocza
z PWS (np.: IUSR_SERVER). OK, odpaliłem Console Manager'a i zmieniłem konto
z lokalnego na ogólno sieciowego guest'a z prawami na moją stację - BRAK
EFEKTU!

2. Konto używane do pracy stacji roboczych z PWS nie ma wystarczających
uprawnień do pliku bazy. Musi ono mieć prawo odczytu i zapisu do pliku a
ponadto zapisu do katalogu (tylko bazy Access'a).
Sprawdziłem - Jest OK.

3. Podłączenie ADO nie ma uprawnień zapisu do bazy (zostało uruchomione w
złym trybie).
Sprawdziłem - mam: Conn.Mode = adModeReadWrite Or adModeShareDenyNone

4. W ODBC DSN może być ustawiona opcja "Read Only" - ALE NIE JEST!

Piszą jeszcze, że może to też być związane ze składnią SQL'a (kaskadowy
update) - co napewno nie ma u mnie miejsca, gdyż używam najzwyklejszego
INSERT INTO.

Jeśli ktoś z Was miał już ten sam problem i znalazł *działające*
rozwiązanie, to będę bardzo wdzięczny za pomoc.
Odpowiedz proszę kierować również na PRIV'a - nie subskrybuję tej grupy.

Przeczytaj wszystkie posty z tego wątku



Temat: ASP + prawa dostępu pod NT
no to nie znalazles jeszcze jednego rozwiazania:

Hkey_Local_MachineSoftwareODBC
everyone musi mieć full control
Użytkownik Łukasz Szmit <lukaszmi@priv2._NO_SPAM_.onet.plw wiadomości do
grup dyskusyjnych napisał:38e5e@news.vogel.pl...

Witam!

Niedawno prosiłem Was o pomoc w rozwiązaniu zapisu do bazy Access'a.
Problem udało mi się już rozwiązać poza jednym - głównym.

Wszystkie operacje - podłączenie ADO do bazy, zapis z SQL'a, odczyt danych
i
generowanie strony - działają bez zarzutu na stacji roboczej, na której
stoi
serwer www (PWS+IIS4). Odczyt działa również na pozostałych stacjach
sieci.
Problem pojawia się przy zapisie. ADO wykrzacza się wtedy z następującycm
komunikatem:

Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Microsoft Access Driver] Operation must use an updatable
query

W MS Knowledge Base, w artykule Q175168, napisano, iż problem ten ma
cztery
główne źródła:

1. Konto "gościa" dla serwera internetowego używane lokalnie
(IUSR_MACHINE)
nie jest rozpoznawane przez pozostałe stacje robocze jako prawidłowe konto
sieciowe. Rozwiązaniem ma być zmiana domyślnego konta klienta na takie,
które istnieje na serwerze domeny, w której znajduje się dana stacja
robocza
z PWS (np.: IUSR_SERVER). OK, odpaliłem Console Manager'a i zmieniłem
konto
z lokalnego na ogólno sieciowego guest'a z prawami na moją stację - BRAK
EFEKTU!

2. Konto używane do pracy stacji roboczych z PWS nie ma wystarczających
uprawnień do pliku bazy. Musi ono mieć prawo odczytu i zapisu do pliku a
ponadto zapisu do katalogu (tylko bazy Access'a).
Sprawdziłem - Jest OK.

3. Podłączenie ADO nie ma uprawnień zapisu do bazy (zostało uruchomione w
złym trybie).
Sprawdziłem - mam: Conn.Mode = adModeReadWrite Or adModeShareDenyNone

4. W ODBC DSN może być ustawiona opcja "Read Only" - ALE NIE JEST!

Piszą jeszcze, że może to też być związane ze składnią SQL'a (kaskadowy
update) - co napewno nie ma u mnie miejsca, gdyż używam najzwyklejszego
INSERT INTO.

Jeśli ktoś z Was miał już ten sam problem i znalazł *działające*
rozwiązanie, to będę bardzo wdzięczny za pomoc.
Odpowiedz proszę kierować również na PRIV'a - nie subskrybuję tej grupy.

Przeczytaj wszystkie posty z tego wątku



Temat: Inne rozwiazanie (ASP)
Napisalem strone przy pomcy ktorej wyswietla sie dane przy pomocy ASP i
druga
wyswietla dane z bazy ACCESS.
Ale wydaje mi sie ze 2 sposob jest lepszy (sql = "SELECT * FROM wnioski").
Wywolanie SQL-owe jest wg mnie bardziej oczywiste.
Czy mozecie mi napisac jak 1 sposob przedstawic na podstawie przykladu 2
(zapis do bazy przy pomocy SQL).
Nie jest dla mnie do konca wiadome co sie dzieje w 4-6 liniach (w
przykladzie 1)

1.

<%
  On Error Resume Next
  Set Conn = Server.CreateObject("ADODB.Connection")
  Conn.Open "DBQ=f:inetpubwwwrootwnioskidbaza.mdb ;Driver={Microsoft
Access Driver (*.mdb)};DriverId=25;FIL=MS Access;"
  Set rstK = Server.CreateObject("ADODB.RecordSet")
  rstK.Open "wnioski", Conn, 1, 4, 2
  rstK.AddNew
 rstK("temat") = Request.Form("temat")
 rstK("imie_nazw") = Request.Form("imie_nazw")
    rstK("rodz_oprac") = Request.Form("rodz_oprac")
    rstK("stan") = Request.Form("stan")
    rstK("komor") = Request.Form("komor")
    rstK("data") = Now()
    rstK("uzas") = Request.Form("uzas")
    rstK("numer_proc") = Request.Form("numer_proc")
  rstK.UpdateBatch
%

2.

<%
  Dim zmienna
  Set Conn = Server.CreateObject("ADODB.Connection")
  Conn.Open "DSN=wnioski;UID=;PWD="

  sql = "SELECT * FROM wnioski"
%

Przeczytaj wszystkie posty z tego wątku



Temat: Inne rozwiazanie (ASP)


Napisalem strone przy pomcy ktorej wyswietla sie dane przy pomocy ASP i
druga
wyswietla dane z bazy ACCESS.
Ale wydaje mi sie ze 2 sposob jest lepszy (sql = "SELECT * FROM wnioski").
Wywolanie SQL-owe jest wg mnie bardziej oczywiste.
Czy mozecie mi napisac jak 1 sposob przedstawic na podstawie przykladu 2
(zapis do bazy przy pomocy SQL).
Nie jest dla mnie do konca wiadome co sie dzieje w 4-6 liniach (w
przykladzie 1)


jak dla mnie to w 1 przykladzie zapisujesz do bazy a w 2 z bazy dane
odczytujesz


<%
  On Error Resume Next


obsluga ew bledow


  Set Conn = Server.CreateObject("ADODB.Connection")


tworzysz obiekt ADODB.Connection


  Conn.Open "DBQ=f:inetpubwwwrootwnioskidbaza.mdb ;Driver={Microsoft
Access Driver (*.mdb)};DriverId=25;FIL=MS Access;"


otwierasz baze


  Set rstK = Server.CreateObject("ADODB.RecordSet")


tworzysz obiekt ADODB.RecordSet


  rstK.Open "wnioski", Conn, 1, 4, 2


otwierasz recordseta

recordset.Open Source, ActiveConnection, CursorType, LockType, Options
wiec chyba wiesz co oznaczaja te dane ( wiecej
http://localhost/iishelp/ado/docs/adomth03%5F1.htm )


  rstK.AddNew


dodajesz nowy rekord


 rstK("temat") = Request.Form("temat")
 rstK("imie_nazw") = Request.Form("imie_nazw")
    rstK("rodz_oprac") = Request.Form("rodz_oprac")
    rstK("stan") = Request.Form("stan")
    rstK("komor") = Request.Form("komor")
    rstK("data") = Now()
    rstK("uzas") = Request.Form("uzas")
    rstK("numer_proc") = Request.Form("numer_proc")
  rstK.UpdateBatch


zatwierdzasz zmiany


2.

<%
  Dim zmienna
  Set Conn = Server.CreateObject("ADODB.Connection")
  Conn.Open "DSN=wnioski;UID=;PWD="

  sql = "SELECT * FROM wnioski"
%


a tu sie jeszcze nic nie dzieje, musisz doprawic do tego recordset'a np

SET RS= CONN.EXECUTE(sql)

albo jakas inna metoda

Przeczytaj wszystkie posty z tego wątku



Temat: ASP, W2000 i access - problem
Witam!

  Mam sobie bazkę w Accessie 97 podłączoną przez ODBC i obsługiwaną
przez PWS+ASP+Win98. Wszystko działa.

  Przegrałem na W2000+IIS i działa już tylko prawie wszystko. Przy
próbie wpisanania czegoś zapytaniem

  INSERT into Nowe(imie, nazwisko, adres, telefon, email, www,
  zajmuje) values('q', 'w', 'ee', '', '', '', 'ee')

dostaję komunikat:

<KOMUNIKAT
  Microsoft OLE DB Provider for ODBC Drivers error '80004005'

  [Microsoft][ODBC Microsoft Access Driver] Operation must use an
  updateable query.

  /chomik/dodaj.asp, line 25
</KOMUNIKAT

Oczywiście samo zapytanie jest jak najbardziej OK. Skonwertowałem bazę
na Accessa 2000, ale nie pomogło. To samo na SQL Serwerze działa
dobrze. Ktoś ma jakieś pomysły?

Daje też kawałek kodu, ale chyba to nikomu nic nie powie, bo jest
dobrze.

<%
if Request("tak") = "tak" then
  Set Conn = Server.CreateObject("ADODB.Connection")
  'On Error Resume Next
  Conn.Open "DSN=chomik;UID=;PWD="

  sql = "INSERT into Nowe(imie, nazwisko, adres, telefon, email, www,
zajmuje) values('" & Request("imie") & "', '" & Request("nazwisko") &
"', '" & Request("adres") & "', '" & Request("telefon") & "', '" &
Request("email") & "', '" & Request("www") & "', '" &
Request("zajmuje")  & "')"
  response.write sql
'  on error resume next
  Set rst = Conn.Execute(sql)
%

Chomik
  ___  __ Marcin Nowak_   __  mailto:cho@t19.ds.pwr..wroc.pl ***
 /  _)/  )_ ___  _ __(_) /  ) http://www.t19.ds.pwr.wroc.pl/~chomik/
(  (_/'_   ) . /' V  / )/' ~) IRC-Chomik, tel. 71 734475 134 *****
  _(_/ (_/\__(_/2_/(_/(_/\_) Wroclaw University of Technology **

Przeczytaj wszystkie posty z tego wątku



Temat: PWS - WIN98
Skrypt pochodzi z ksiazki "Programowanie internetowych baz danych".  Ponizej
zamieszczam jego listing.
Nadmieniam ze nie dziala zaden (tn dziala .za pierwszym razem. a potem sie
zawiesza) plik z rozszerzeniem *.asp. I tak jest tylko na moim komputerze.
............................................................................................................................................................

<html
<head
</head
<body
<p
<%
openstr = "driver={Microsoft Access Driver (*.mdb)};" & _
          "dbq=" & Server.MapPath("KAPITAL_DB.mdb")
Set cn = Server.CreateObject("ADODB.Connection")
cn.Open openstr

sql = "SELECT * FROM KAPITAL " '& _
'      "FROM roster " & _
'      "ORDER BY jersey; "
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, cn, 3, 3

On Error Resume Next
rs.MoveFirst
Do While Not rs.EOF
    Response.Write Server.HTMLEncode(_
        rs.Fields("NUMER") & ", " & _
        rs.Fields("NAZWISKO") & " " & _
        rs.Fields("IMIE") & ", " & _
        rs.Fields("BRUTTO")) & "<br" & vbCrLf
    rs.MoveNext
Loop

rs.Close
Set rs = Nothing

cn.Close
Set cn = Nothing
%
</p
</body
</html

............................................................................................................................................................

Przeczytaj wszystkie posty z tego wątku



Temat: PWS - WIN98
Prawdopodobnie dlatego Ci sie sypie, bo nie otwierasz bazy przez ODBC.
Ponadto nawet pomimo uzywania ODBC, ile razy wykonywalem niepoprawnego SQL,
tyle razy baza sie zawieszala i nie mialem do niej dostepu. Pomagal restart
systemu :)
Po tych doswiadczeniach postanowilem sie przerzucic na MsSQL. I teraz jest
GIT.
Arti


Skrypt pochodzi z ksiazki "Programowanie internetowych baz danych".
Ponizej
zamieszczam jego listing.
Nadmieniam ze nie dziala zaden (tn dziala .za pierwszym razem. a potem sie
zawiesza) plik z rozszerzeniem *.asp. I tak jest tylko na moim komputerze.


............................................................................
............................................................................
....

<html
<head
</head
<body
<p
<%
openstr = "driver={Microsoft Access Driver (*.mdb)};" & _
          "dbq=" & Server.MapPath("KAPITAL_DB.mdb")
Set cn = Server.CreateObject("ADODB.Connection")
cn.Open openstr

sql = "SELECT * FROM KAPITAL " '& _
'      "FROM roster " & _
'      "ORDER BY jersey; "
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, cn, 3, 3

On Error Resume Next
rs.MoveFirst
Do While Not rs.EOF
    Response.Write Server.HTMLEncode(_
        rs.Fields("NUMER") & ", " & _
        rs.Fields("NAZWISKO") & " " & _
        rs.Fields("IMIE") & ", " & _
        rs.Fields("BRUTTO")) & "<br" & vbCrLf
    rs.MoveNext
Loop

rs.Close
Set rs = Nothing

cn.Close
Set cn = Nothing
%
</p
</body
</html


............................................................................
............................................................................
....



Przeczytaj wszystkie posty z tego wątku



Temat: PHPLib i polaczenie z baza Accessa po ODBC
Ze względu na wygodę do połączeń z bazami danych SQL używam biblioteki klas
PHPLib (http://phplib.netuse.de/download/index.php3). Nie wiem jak
zainicjować połączenia do bazy MS Access'a poprzez sterownik ODBC. Na
stronie http://www.spinacz.pl/news.html/36.html znalazłem stwierdzenie aby
przeciążyć klasę np. w taki sposób:

class DB_Example extends DB_Sql {
    var $Host = "twoj_host";
    var $Database = "baza_phplib";
    var $User = "uzytkownik";
    var $Password = "haslo";


}


Problem w tym, że nie bardzo wiem co tu wpisać, gdyż analogiczny skrypt ASP
(który działa!) trochę inaczej inicjuje połączenie po przez np. taką
komendę:

st_ConnString = "DRIVER={Microsoft Access Driver
(*.mdb)};DBQ=d:azadanych.mdb"

Gdzie w poniższej klasie dodać sterownik?

class DB_Sql {
  var $Host     = "";
  var $Database = "";
  var $User     = "";
  var $Password = "";
  var $UseODBCCursor = 0;

  var $Link_ID  = 0;
  var $Query_ID = 0;
  var $Record   = array();
  var $Row      = 0;

  var $Errno    = 0;
  var $Error    = "";

  var $Auto_Free = 0;     ## set this to 1 to automatically free results

Dostaję takie błędy:

Warning: SQL error: [Microsoft][Menedżer sterowników ODBC] Nie można
odnalezc nazwy zrodła danych, a nie ma podanego sterownika domyslnego, SQL
state IM002 in SQLConnect in db_odbc.inc on line 35
Database error: Link-ID == false, odbc_pconnect failed
ODBC Error: 0 ()
Session halted.

Nigdy wczesniej nie uzywalem polaczen przez ODBC. Ktoś wie jak to zrobić
przez PHPLib?

Irek

Przeczytaj wszystkie posty z tego wątku



Temat: sql, asp


    Pewnie proste i glupie pytanie, ale od kilku dni dopiero w asp pisze.
    Chce wpisac dane z formularza do pliku accessa: klienci.mdb. Oto glowna
czesc kodu wpisujaca:

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DBQ=e:INETPUBwwwrootKLIENCI.MDB;" & "Driver={Microsoft Access
Driver (*.mdb)}"


lepiej podlaczyc jest baze poprzez ODBC


SQL = "INSERT * INTO  Klienci (Imie, Nazwisko, Adres, Wartosc_zakupow) "
SQL = SQL & "VALUES ("
SQL = SQL & "'" & Request.Form("Imie") & "', "
SQL = SQL & "'" & Request.Form("Nazwisko") & "', "
SQL = SQL & "'" & Request.Form("Adres") & "', "
SQL = SQL & "'" & Request.Form("Wartosc_zakupow") & "')"
On Error Resume Next
Conn.Execute(SQL)
%


Mozesz przetestowac skladnie SQL'a tworzac zapytanie w Access'ie (kod sql).
Zazwyczaj znajdziesz wtedy gotowy wygenerowany kod.
Uzyj metody response.write by wyswietlic kod ktory wygenerowala twoja strona
Np response.write sql


    Po wpisaniu danych w formularzu i wcisnieciu klawisza submit
( czyli wykonaniu: <form action="zapisz.asp" method="POST"), wypisuje mi
sie blad:
--------Błąd składniowy w instrukcji INSERT INTO.
Probowalem tez zabrac znak * po slowie INSERT, ale wtedy mam blad:
--------Za mało parametrów. Oczekiwano 4.
    Jak sie tego pozbyc, jak zrobic aby zadzialalo, co jest zle???????
Dziekuje za chec pomocy i odpowiedz, pozdrawiam

--
Piotrek ( gubit )
gu@poczta.onet.pl
www.gubit.prv.pl


--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl

Przeczytaj wszystkie posty z tego wątku



Temat: ASP + Baza danych MDB (Nie można użyć pliku ''; plik jest już w użyciu.)
Cześć,

miałem podobny problem i rozwiązałem go tak:

DIM rst_WYR, Conn_WYR, sql_WYR

Set Conn_WYR = Server.CreateObject("ADODB.Connection")
Conn_WYR.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " &_
     "DBQ=E:XXX.mdb"
sql_WYR = "SELECT * FROM XXX where ......................"

Set rst_WYR = Conn_WYR.Execute(sql_WYR)
Do While not rst_WYR.eof

  if not rst_WYR("nazwa kolumny")="" then
    response.write "<TD bgcolor=#FFFFFF<font color=#000000 size=1
face=Verdana"
   response.write rst_WYR("nazwa kolumny")
    response.write "</td"
   else
    response.write "<td bgcolor=#FFFFFF<font color=#FF0000 size=1
face=Verdana-</font</td"
   end if

   rst_WYR.movenext
Loop

Conn_WYR.Close

nie wiem na ile ci to pomoże ale takim sposobem dobieram się do bazy która
praktycznie jest ciągle otwarta.

Kacper

"Panel" <pa@go2.plwrote in message Witam

Mam pewną bazę danych napisaną w Accesie (*.MDB).Aby działała z serwerem
IIS (win XP sp2) dodałem do pliku uprawnienia dla uzytkownika "Konto
Internet Guest (ServverIUSR_Igor)"
Do bazy odwołuje się:

Application("DSN") = "Provider=Microsoft.Jet.OLEDB.4.0;data source=" &
Server.MapPath("Portal.mdb") set Conn = CreateObject("ADODB.Connection")
set rs = CreateObject("ADODB.Recordset") Conn.Open Application("DSN")
stSQL = "SELECT * FROM Labele_Interfejsu"
rs.Open stSQL,Conn,0,1
LabelWyglad = rs("Label")
rs.close

W momencie, gdy baza jest otwarta i próbuję wejść na stronę pojawia się
komunikat:

Typ błędu:
Microsoft JET Database Engine (0x80004005)
Nie można użyć pliku ''; plik jest już w użyciu.

Zamykam bazę i stronka działa bez problemu. Mojemu qumplowi udało się coś
zmienić i mógł pracować z otwartą bazą, a więc powyższy błąd mu nie
wyskakiwał. Problem w tym, że on sam nie pamięta co zmieniał, system padł
w między czasie, wiec nawet nie ma zbardzo jak sprawdzić. Jeśli się nie
mylęto przestawił coś w usawieniach serwera IIS, tylko co?

--
Pozdrawiam
panel
pa@go2.pl


Przeczytaj wszystkie posty z tego wątku



Temat: Jak sie polaczyc z Accessem
Witam.

Po raz pierwszy probuje polaczyc sie z Accessem i dostaje juz palpitacji
serca. Oto kod

<%@ Import Namespace="System.Data" %
<%@ Import Namespace="System.Data.OleDb" %
<script language="VB" runat="server"
Sub Page_Load(Sender As Object, E As EventArgs)
    Dim Connection As OleDbConnection
    Dim ConnString As String
    Dim Command As OleDbDataAdapter
    Dim SQL As String
    Dim DS As New DataSet
    ConnString = "DRIVER={Microsoft Access Driver
(*.mdb)};PROVIDER=Microsoft.Jet.OLEDB.4.0 ;Data source=" &
Server.MapPath("klasa.mdb")
    SQL="SELCET * FROM klasa"
    Connection = New OleDbConnection(ConnString)
    Command = New OleDbDataAdapter(SQL,Connection)
    Command.Fill(DS, "dane")
    MyDataGrid.DataSource = DS.Tables("dane").DefaultView
    MyDataGrid.DataBind()
End Sub
</script

Wywala mi cos takiego
Description: An unhandled exception occurred during the execution of the
current web request. Please review the stack trace for more information
about the error and where it originated in the code.

Exception Details: System.Data.OleDb.OleDbException: Could not find
installable ISAM.

Source Error:

Line 22:
Line 23:
Line 24:          oCommand.Fill(oDS, "dane")      (to na czerwono)
ASP.NET Build:1.4000.2914.16

Blagam o pomoc

Przemyslaw Malak

Przeczytaj wszystkie posty z tego wątku



Temat: tworzenie zrodła danych


| W jaki sposób utworzyć źródło danych z bazki pod NT ? Muszę dać znać
| adminowi aby takowe źrodło utworzył czy może jest jakaś inna metoda ?

| chodzi o wyciagniecie danych z bazy na strony www?
| Jesli NT to najlepiej ASP.
Nie chodziło mi o same korzystanie z bazy tylko o samo przygotowanie do
korzystania.
Z tego co wiem to po utworzeniu bazki trzeba ja umieścić (tak przy okazji
to
gdzie się ją wrzuca ?) na www, potem zeby mozna bylo z niej korzystac
trzeba
utworzyc DSN znaczy sie źrodlo danych. No i nie wiem czy samemu sie je
jakos
tworzy czy trzeba dac znac adminowi. Niestety w bazach-www jeste zielony
:)
A może wogóle się to inaczej robi ?? Może nie tworzy sie DSN-a ??
A może ktoś nakierowalby mnie na jakies faq-i, opisy itp. lub opisał cały
proces na liscie ?


Zakladam ze korzystasz z ASP i choc troche wiesz jak sie uzywa obiektow db.
DSN tworzysz zalenie od bazy danych. Niektore (np. ms sql 7) maja tzw
provaidery ktore nie potrzebuja dsn,
Laczysz sie tak:
  Conn.ConnectionString =
"PROVIDER=SQLOLEDB;SERVER=nazwa_serwera;UID=login;" & _
                                  "PWD=password;DATABASE=nazwa_bazy_danych"

Mozna rowniez nie korzystac z dsn, pomagajac sobie MapPath np:

Set MyConn = Server.CreateObject("ADODB.Connection")
conString = "DBQ=" & Server.MapPath("MyDatabase.mdb")
Myconn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & conString
SQL="Select * from employee"
http://www.devasp.com/samples/datamappath.asp

wiec istnienie dsn zalezy jak chcesz sie laczyc do bazy ( porownanie
http://www.powerasp.com/content/database/dsn_vs_dnsless.asp )

Jak sie laczyc z baza:
http://mavweb.net/asp-samples/database-connection-strings.asp
http://www.web-savant.com/users/kathi/asp/samples/tut/Database_Connec...
sp

To polecam:
http://www.aspin.com/home/tutorial/database/dbconn/dsnless
http://www.aspin.com/home/tutorial/database/dbconn

Mozesz sprobowac bez dsn, nie pytajac sie admina, jesli nie zadziala to
wtedy trza swistaka zagadac:))
Napisz jaka bazke chcesz uzywac i czy to jest asp (bo moze zbednie sie
rozpisuje). Wiecej tez na priva zapraszam.

Przeczytaj wszystkie posty z tego wątku



Temat: Generowanie HTML'a na podst. bazy (off-line)
"Krzysztof Gmyr" <krzysz@pma.tarnow.pl


1) Mam baze danych (chwilowo w Accesie, ale mozna ja spokojnie przerobic
:) ok. 2500 rekordow.
2) Potrzebuje z tego wygenerowac 2500 HTML'i - w kazdym HTML jeden
rekord (wszystkie strony sa generowane na podstawie jednego szablonu)

Czy jest cos, co potrafi to zrobic (narzedzia platne/darmowe)?


Moge odsprzedac Ci licencje na kilka stanowisk na ponizszy PROGRAM:

Zapisz jako robHTMLe.vbs i "upusc" plik bazy na ten skrypt:
==================================
Option Explicit

Dim args
Set args = WScript.Arguments

If args.Count<1 Then
 WScript.Echo("Podaj sciezke do bazy"&vbCrLf&_
  "jako argument wywolania skryptu")
 WScript.Quit(0)
End If

Dim Conn, RS, fso, f, i

Set Conn = WScript.CreateObject("ADODB.Connection")
Set fso = WScript.CreateObject("Scripting.FileSystemObject")
Conn.ConnectionString = "DRIVER={Microsoft Access Driver (*.mdb)};"&_
    "DBQ=" & args.Item(0)
Conn.Open

Set RS = Conn.Execute("SELECT TOP 10 * FROM Customers")

Do While Not RS.Eof
 Set f = fso.OpenTextFile("c:"&RS(0)&".html",2,true)
 f.Write("<TABLE")
     For i=0 To RS.Fields.Count-1
          f.Write("<TR<TD"&RS.Fields(i).Name&"</TD<TD"&_
                    RS(i)&"</TD</TR")
     Next
 f.Write("</TABLE")
 f.Close
 Set f = Nothing
 RS.MoveNext
Loop

Conn.Close
Set Conn = Nothing
Set fso = Nothing
=========================================

Przeczytaj wszystkie posty z tego wątku



Temat: Protel 99
Cześć,
mam Protela 99 z SP1 i ostatnio przy próbie zapisu wylatuje mi taki
komunikat: '[Microsoft][ODBC Microsoft Access Driver]String data, right
truncated (null)' i z zapisu nici :(.
Jak usunąć ten błąd?

Pomóżcie !!!

Zenek

Przeczytaj wszystkie posty z tego wątku



Temat: DNS z poziomu VBA
w środowiskack ME i Win2000 standardowo jest sterownik do accessa

W niższych należy zainstalować DataAccessa który jest na płytce offica 97
bodajże w katalogu support lub Misc
Potem najlepiej Jet4Sp3 a potem jet4SP6 a potem madc2.6 lub 2.7

potem powinny byc wszsytkie sterowniki
Myślę że użycie "Microsoft Access Driver (*.mdb)" powinno załatwić kwestię
nazewnictwa. ale nie dostepu do plików .mde

Sprawdzam dalej jak będę mądrzejszy to opiszę
Bohdan

Użytkownik "Krzysztof Naworyta" <k.nawor@datacomp.com.plnapisał w
wiadomości
Użytkownik "Raphael Posmyk" <raphael.pos@komm-kontroll.denapisał

| O co trzeba zadbać, aby pełny MS Word komunikował się z Access RT via
| ODBC ? (korespondencja seryjna)

| Jezeli ma byc przez ODBC to nie ma znaczenia czy z Access (a raczej
| z JET-MDB, sam Access nie musi byc nawet zainstalowany), czy z MS
| SQL Server, ORACLE, Sybase, ... Wazne abys mial zainstalowane 'ODBC
| Driver Manager', odpowiednie sterowniki ODBC dla danego RDBMS
| no i oczywiscie ODBC DSN.

| Innymi słowy co (jakie pliki) ...

| Jakie pliki - trudno powiedziec. MDAC + <pakiet ODBC dla danego RDBMS.

w CD Office'97 ValuePack jest sobie całe ODBC 3.0
Niby mógłbym sie tym posiłkować - ale:
- to wymusza dodatkowy niezależny proces instalacji (a ja wolałbym w
jednym - głównym)
- coś mi mówi, że jest tego za dużo o kilka dll'i w porównaniu z moimi
potrzebami
;-)
- jako, że stare - może mi sie z czymś pogryźć w trakcie instalacji

|        ... i jak (jakie wpisy do rejestru)
|  zadeklarować w Setup Wizard ?

| Hm, nie wiem jak to powiedziec wizardowi, ale obejzyj sobie
| HKEY_LOCAL_MACHINESOFTWAREODBC. Tam jest wszystko, co
| potrzebne do definicji 'ODBC DSN' (jakbys sie nie mogl w tym
| odnalezc to daj znac). Mozy wyexportuj sobie jakies DSN.
| Bedziesz wiedzial jakie klucze musi dodac setup wizard.

O, jak się eksportuje "jakieś DSN" ?

Tak - zaglądałem do rejestru, nie tylko do tej gałęzi ale wszędzie gdzie
tylko pojawia się "ODBC"
Może ja dziury w całym szukam, ale:
- wydaje się, że "samo" sie nie zainstaluje - czyli muszę do instalki
dołożyć jakieś ddl'e + wpisy do rejestru
(ale nie mam pod ręką "czystego" komputera by móc to teraz zweryfikować)
- po instalacji różnych sharewarów mam w rejestrze dla ODBC wpisy dla
access'a:
po polsku, angielsku, włosku i niemiecku ;-)
czyli chłopcy jakos to robili.

W Setup Wizard 97 mogę dołożyć do instalki komponenty ISAM, ODBCDirect,
czy
"ODBC suport with SQL Server" ale z tego co pamiętam, żaden z nich nie
zapewnia utworzenia DSN="MS Access 97 Database"
(co jakoś, nie wiedzieć czemu, wcale mnie nie dziwi ;-)
Dochodzi problem nazewnictwa - drivery są, ale właśnie: niemiecki, włoski,
angielski ...
Wszystkie takie same - ale ja musze przecież znać tę właściwą nazwę aby ją
w
ciągu połączenia zadeklarować:

Connection:="DSN=Baza danych MS Access;DBQ=" & dbN & ";FIL=MS Access"
             ^^^^^^^^^^^^^^^^^^^^^^^^^
albo:
Connection:="DSN=MS Access 97 Database;DBQ=" & dbN & ";FIL=MS Access"
             ^^^^^^^^^^^^^^^^^^^^^^^^^

Rozsądnym rozwiązaniem wydaje się (???) stworzyć coś własnego ...
Niestety w tym temacie mój poziom lamerstwa jest zbyt wysoki by sobie
poradzić samemu.
Być może wyciągam złe wnioski i źle dedukuję ...

Za wszelkie naprowadzenie na własciwy trop
z góry wdzięczny

--
KN

P.S.
W międzyczasie dowiedziałem się, że mogę użyć połączenia via OLEDB
(dzięki Bohdan !)
Wystarczy nie deklarować niczego ponad te dwa:
ActiveDocument.MailMerge.OpenDataSource _
   Name:="C:MyDB.mdb", _
   SQLStatement:="SELECT * FROM [MyTable]"
Niestety w Office 97 jest to stanowczo zbyt wolne w porównaniu z ODBC


Przeczytaj wszystkie posty z tego wątku



Temat: DNS z poziomu VBA
Krzysztof Naworyta schrieb:


w CD Office'97 ValuePack jest sobie całe ODBC 3.0
Niby mógłbym sie tym posiłkować - ale:
- to wymusza dodatkowy niezależny proces instalacji (a ja wolałbym w
jednym - głównym)
- coś mi mówi, że jest tego za dużo o kilka dll'i w porównaniu z moimi
potrzebami
;-)
- jako, że stare - może mi sie z czymś pogryźć w trakcie instalacji


Pewnie daloby sie rozpakowac MDAC i na podstawie tam zawartych
setup.inf skonstruowac wlasny - duzo roboty. Zaloze sie, ze
istnieje gdzies (u M$) wersja MDAC do takiego wlasnie uzytku
jak Ty planujesz. W koncu inni tez jakos to robia !


O, jak się eksportuje "jakieś DSN" ?


Mialem na mysli zapamietanie wybranych wpisow rejestow
do pliku.reg (RegEdit).


Tak - zaglądałem do rejestru, nie tylko do tej gałęzi ale wszędzie gdzie
tylko pojawia się "ODBC"
Może ja dziury w całym szukam, ale:
- wydaje się, że "samo" sie nie zainstaluje - czyli muszę do instalki
dołożyć jakieś ddl'e + wpisy do rejestru


Moment ! Skopiowanie odpowiednich plikow (*.dll) w odpowiednie
miejsce tak aby srodowisko ODBC bylo zainstalowane to jedna rzecz.
Tu nie znam zlotego srodka jak to zrobic (patrz tez wyzej)

Inna rzecz to tworzenie DSN (Data Source Name). To mozna osiagnac
przez wpisy do rejestrow.


(ale nie mam pod ręką "czystego" komputera by móc to teraz zweryfikować)


Zapamietaj nastepujace linijki w pliku (rafal.reg), a potem
dopelkliknij na niego w explorerze:

---------------------------8<-----------------------------
REGEDIT4

[HKEY_CURRENT_USERSoftwareODBCODBC.INIRafal]
"Driver"="C:\WINNT\System32\odbcjt32.dll"
"DBQ"="C:\TEMP\rafal.mdb"
"Description"="Rafala sposob na dodanie DSN"
"DriverId"=dword:00000019
"FIL"="MS Access;"
"SafeTransactions"=dword:00000000
"UID"="Smyk"

[HKEY_CURRENT_USERSoftwareODBCODBC.INIRafalEngines]

[HKEY_CURRENT_USERSoftwareODBCODBC.INIRafalEnginesJet]
"ImplicitCommitSync"=""
"MaxBufferSize"=dword:00000800
"PageTimeout"=dword:00000005
"Threads"=dword:00000003
"UserCommitSync"="Yes"

[HKEY_CURRENT_USERSoftwareODBCODBC.INIODBC Data Sources]
"Rafal"="Microsoft Access Driver (*.mdb)"
---------------------------8-----------------------------

Teraz znajdziesz w administratorze ODBC piekny DSN ;-)


W Setup Wizard 97 mogę dołożyć do instalki komponenty ISAM, ODBCDirect, czy
"ODBC suport with SQL Server" ...


A ogolny ODBC Support masz ? W wizardzie do Access 2.0 pamietam
ze byl.


                            ... ale z tego co pamiętam, żaden z nich nie
zapewnia utworzenia DSN="MS Access 97 Database"


Ale moze dopisywac klucze do rejestrow ?
To co za roznica (patrz wyrzej).


(co jakoś, nie wiedzieć czemu, wcale mnie nie dziwi ;-)


Dlaczego ? A jezeli chciales zrobic instalke dla systemu C/S
z tabelami podwiazanymi ze zrodla ODBC ?


Dochodzi problem nazewnictwa - drivery są, ale właśnie: niemiecki, włoski,
angielski ...

Wszystkie takie same - ale ja musze przecież znać tę właściwą nazwę aby ją w
ciągu połączenia zadeklarować:

Connection:="DSN=Baza danych MS Access;DBQ=" & dbN & ";FIL=MS Access"
             ^^^^^^^^^^^^^^^^^^^^^^^^^
albo:
Connection:="DSN=MS Access 97 Database;DBQ=" & dbN & ";FIL=MS Access"
             ^^^^^^^^^^^^^^^^^^^^^^^^^


Wszystkie zainstalowane sterowniki ODBC sa w
HKEY_LOCAL_MACHINESOFTWAREODBCODBCINST.INI.
Tez mam kilka roznych jezykowo access'ow, ktore jednak
wszystkie uzywaja tego samego pliku (dll). No wiec jaka
roznica ?

Moze Setup Wizard moze jakos odpytac rejestry ?


Rozsądnym rozwiązaniem wydaje się (???) stworzyć coś własnego ...
Niestety w tym temacie mój poziom lamerstwa jest zbyt wysoki by sobie
poradzić samemu.


Nie boj ! Grupa nie zostawi KN na lodzie ;-)


Być może wyciągam złe wnioski i źle dedukuję ...


W najgorszym wypadku dojdziesz *do celu* na okolo.

Ciao, Rafal

Przeczytaj wszystkie posty z tego wątku



Temat: C++Builder + ODBC

Jacek Tokarski napisał(a) w wiadomości:
<8504ll$th@sinope.coi.pw.edu.pl...

Witam grupowiczow,

Czy istnieje mozliwosc zautomatyzowania konfiguracji ODBC podczas
pierwszego
uruchomienia programu?
Program w C++Builder, baza Access dostep do niej przez ODBC.

Aktualnie ODBC konfigurowane jest recznie przed pierwszym uruchomieniem
programu.
Osobiscie zostalbym przy tym rozwiazaniu, lecz moj promotor zyczylby sobie
cos takiego (praca dyplomowa).

Moze ktos przewalczyl ten problem?
Za wszelkie wskazowki z gory dzieki.

Pozdrawiam

Jacek


Czesc !
Nie wiem czy dobrze rozumiem problem.
Jezeli chcesz by uzytkownik dokonal wyboru DataSource z listy istniejacych w
systemie mozesz je pobrac funkcja SQLDataSources.
Jesli chcialbys dodac do listy istniejacych zrodel w systemie musisz:
do ODBC.ini dodac wpisy ( w przykladzie uzylem nazwy USERDEFINE),sciezki do
dll sa przykladowe
w sekcji
[ODBC 32 bit Data Sources]
USERDEFINESOURCE=USERDEFINESOURCE (*.MDB) (32 bit)
w sekcji
[USERDEFINESOURCE]
Driver32=C:WINNTSystem32odbcjt32.dll

Przypuszczam ze driver do ACCESSA masz w systemie zainstalowany. Gdybys
chcial go w systemie zainstalowac recznie to w ODBCINST.INI

[ODBC 32 bit Drivers]
Microsoft Access Driver (*.mdb) (32 bit)=Installed

[Microsoft Access Driver (*.mdb) (32 bit)]
Driver=C:WINNTSystem32odbcjt32.dll
Setup=C:WINNTSystem32odbcjt32.dll
32Bit=1

No i zostaje rejestr
[HKEY_LOCAL_MACHINESOFTWAREODBCODBCINST.INIMicrosoft Access Driver
(*.mdb)]
"UsageCount"=dword:00000004
"Driver"="C:WINNTSystem32odbcjt32.dll"
"Setup"="C:WINNTSystem32odbcjt32.dll"
"FileUsage"="2"
"FileExtns"="*.mdb"
"ConnectFunctions"="YYN"
"APILevel"="1"
"DriverODBCVer"="3.51.170003"
"SQLLevel"="0"

[HKEY_LOCAL_MACHINESOFTWAREODBCODBCINST.INIODBC Drivers]
"Microsoft Access Driver (*.mdb)"="Installed"

[HKEY_CURRENT_USERSoftwareODBCODBC.INIUSERDEFINESOURCE]
"Driver"="C:WINNTSystem32odbcjt32.dll"
"Description"="USERDEFINESOURCE"

[HKEY_CURRENT_USERSoftwareODBCODBC.INIODBC Data Sources]
"USERDEFINESOURCE"="Microsoft Access Driver (*.mdb)"

Robilem cos takiego z inna baza, dlatego moga jeszcze dojsc ustawienia w
rejestrze charakterystyczne dla accessa
bodajze opierajac sie na przykladzie
[HKEY_CURRENT_USERSoftwareODBCODBC.INIUSERDEFINESOURCE]
dojdzie jeszcze galaz Engine, ale to mozesz juz sprawdzic.
Pozdrowienia
Rony

Przeczytaj wszystkie posty z tego wątku



Temat: Połączenie z bazą przez ODBC - początkujący.
Swoje przygody z ODBC dopiero rozpoczynam, więc proszę o wyrozumiałość.
Znalazłem w archiwum grup kod w c i trochę go zmodyfikowałem do swoich
potrzeb, lecz przy próbie kompilacji (IDE - DevC++ wersja 4.9.6.0) dostaję
komunikat:

 main.o     [Warning] In function `main':
[Linker error] undefined reference to `SQLAllocHandle@12'
[Linker error] undefined reference to `SQLSetEnvAttr@16'
[Linker error] undefined reference to `SQLAllocHandle@12'
[Linker error] undefined reference to `SQLDriverConnect@32'
[Linker error] undefined reference to `SQLDisconnect@4'
[Linker error] undefined reference to `SQLFreeHandle@8'
[Linker error] undefined reference to `SQLFreeHandle@8'

Problem może wyda się niektórym banalny, ja go jeszcze nie potrafię
przeskoczyć. Czy w poniższym kodzie zabrakło jakiegoś pliku nagłówkowego,
niezgodność typów zmiennych, czy może jest zbyt niska temperatura za oknem?

#include <stdio.h
#include <stdlib.h
#include <windows.h
#include <odbcinst.h
#include <sql.h
#include <sqlext.h
#include <sqltypes.h
#include <sqlucode.h

#define MAXBUFLEN 1024

SQLHENV henv = SQL_NULL_HENV;
SQLHDBC hdbc = SQL_NULL_HDBC;
SQLHSTMT hstmt = SQL_NULL_HSTMT;

int main(int argc, char *argv[])
{

  SQLRETURN retcode;
  SQLCHAR ConnStrIn[MAXBUFLEN] = "DRIVER={Microsoft Access Driver (*.mdb)};"
                                 "UID=Admin;PWD=;"
                                 "DBQ=database.mdb";
  SQLCHAR ConnStrOut[MAXBUFLEN];
  SQLSMALLINT cbConnStrOut = 0;

  system("CLS");
  printf(" Proba podlaczenia do bazy danych data.mdb za pomoca
ODBC. ");

  retcode = SQLAllocHandle(SQL_HANDLE_ENV, NULL, &henv);
  if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO)
    {
      retcode = SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION,(SQLPOINTER)
SQL_OV_ODBC3, SQL_IS_INTEGER);
      if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO)
        {
          retcode = SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc);
          if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO)
            {
              retcode = SQLDriverConnect(hdbc, NULL, ConnStrIn, SQL_NTS,
ConnStrOut,
                                         MAXBUFLEN, &cbConnStrOut,
SQL_DRIVER_NOPROMPT);
              if (retcode == SQL_SUCCESS || retcode ==
SQL_SUCCESS_WITH_INFO)
                {
                  MessageBox(NULL, "Podłączenie do bazy danych Access
powiodło się", "ODBC Info",
                             MB_ICONEXCLAMATION|MB_OK|MB_SETFOREGROUND);
                  // reszta kodu programu

                  SQLDisconnect(hdbc);
                  SQLFreeHandle(SQL_HANDLE_DBC, hdbc);
                  SQLFreeHandle(SQL_HANDLE_ENV, henv);
                  return (0);
                }
            }
        }
    }
    if ((retcode != SQL_SUCCESS)&&(retcode != SQL_SUCCESS_WITH_INFO))
        {
          MessageBox(NULL, "Podłączenie do bazy danych Access nie powiodło
się",
                     "ODBC Info",
MB_ICONEXCLAMATION|MB_OK|MB_SETFOREGROUND);
        }
  return 0;


}


Z góry dziękuję za pomoc.
Radzior
radz@poczta.onet.pl

Przeczytaj wszystkie posty z tego wątku



Temat: Instalacja ODBC

Użytkownik Grzegorz Arkit <G.Ar@im.pz.zgora.plw wiadomości do grup
dyskusyjnych napisał:8887vk$52@okapi.ict.pwr.wroc.pl...


Sebastian Ciesielski wrote in message ...
| Robi się toto tak (fragment skryptu - jak to zrobić opisano na stronie
INNO
| SETUP):
| [Files]
| Source: "ścieżka_gdzie_taki_plik_jestBdeInst.dll"; DestDir: "{tmp}"

| [Run]
| Filename: "{sys}REGSVR32.EXE"; Parameters: "/S ""{tmp}BdeInst.dll"""

| W ten sposób uruchomisz oryginalny instalator BDE - niestety
anglojęzyczny.

| Pozdrawiam

| Użytkownik Grzegorz Arkit <G.Ar@im.pz.zgora.plw wiadomości do grup
| dyskusyjnych napisał:87r582$ea@okapi.ict.pwr.wroc.pl...
| Czesc!
| Czy ktos ma moze opis instalacji ODBC (jakie pliki, wpisy do rejestru
itd)
| lub namiary gdzie cos takiego mozna znalezc. Najlepszy bylby skrypt do
| InnoSetup.
|                                     Grzesiek

Sorry, chodzilo o instalacje ODBC a nie BDE
                                Grzesiek


to fgramgment koduy rejestracji wpisu do ODBC (akurat dla bazy *.mdb):

if not Myreg.KeyExists('SOFTWAREODBCODBC.INIAlias') then
  begin
   MyReg.OpenKey('SOFTWAREODBCODBC.INIODBC Data Sources',True);
   myReg.WriteString('Alias','Microsoft Access Driver (*.mdb)');
   MyReg.Free;

   MyReg:=TRegistry.Create;
   Myreg.RootKey:=HKEY_CURRENT_USER;
   MyReg.OpenKey('SOFTWAREODBCODBC.INIAlias',TRUE);
   myReg.WriteString('DBQ','sciezka do bazy');
   myReg.WriteString('Description','opis');
   myReg.WriteString('Driver','C:WINDOWSSYSTEModbcjt32.dll');
   myReg.WriteInteger('DriverId',25);
   myReg.WriteString('FIL','MS Access;');
   myReg.WriteInteger('SafeTransactions',0);
   myReg.WriteString('UID','');
   MyReg.Free;

   MyReg:=TRegistry.Create;
   Myreg.RootKey:=HKEY_CURRENT_USER;
   MyReg.OpenKey('SOFTWAREODBCODBC.INIAliasEngines',TRUE);
   MyReg.CreateKey('Jet');
   MyReg.Free;

   MyReg:=TRegistry.Create;
   Myreg.RootKey:=HKEY_CURRENT_USER;
   MyReg.OpenKey('SOFTWAREODBCODBC.INIAliasEnginesJet',TRUE);
   MyReg.WriteString('ImplicitCommitSync','');
   MyReg.WriteInteger('MaxBufferSize',2048);
   MyReg.WriteInteger('PageTimeout',5);
   MyReg.WriteInteger('Threads',3);
   MyReg.WriteString('UserCommitSync','Yes');
 end;

Przeczytaj wszystkie posty z tego wątku



Temat: InstallShield 2.12 z Acces'e 2000


| Czesc !

|     Mam maly problem z przygotowaniem instalki za pomoca InstallShield w
| wersji 2.12.
| Program uzywa bazy danych Access'a 2000 i przy instalacji chce zeby
| zainstalowal sterowniki i zalozyl DSN.
| Czy moze ktorys z szanownych kolegow mial juz ten problem lub wie jak
mozna
| go rozwiazac ?

| Pozdrawiam
|     Krzysiek

ja wprawdzie nie korzystam z Access2000, ale DSN zrobilem , dodajac
odpowiednie wpisy w rejestrze:

var: MyReg:TRegistry;

MyReg:=TRegistry.Create;
Myreg.RootKey:=HKEY_CURRENT_USER;

if not Myreg.KeyExists('SOFTWAREODBCODBC.INI azwa_aliasu) then
  begin
   MyReg.OpenKey('SOFTWAREODBCODBC.INIODBC Data Sources',True);
   myReg.WriteString('Nazwa_Aliasu','Microsoft Access Driver (*.mdb)');
   MyReg.Free;

   MyReg:=TRegistry.Create;
   Myreg.RootKey:=HKEY_CURRENT_USER;
   MyReg.OpenKey('SOFTWAREODBCODBC.ININazwa_Aliasu',TRUE);
   myReg.WriteString('DBQ','sciezka_do_bazy_danych .mdb');
   myReg.WriteString('Description',opis ble ble');
   myReg.WriteString('Driver','C:WINDOWSSYSTEModbcjt32.dll');
   myReg.WriteInteger('DriverId',25);
   myReg.WriteString('FIL','MS Access;');
   myReg.WriteInteger('SafeTransactions',0);
   myReg.WriteString('UID','');
   MyReg.Free;

   MyReg:=TRegistry.Create;
   Myreg.RootKey:=HKEY_CURRENT_USER;
   MyReg.OpenKey('SOFTWAREODBCODBC.ININazwa_AliasuEngines',TRUE);
   MyReg.CreateKey('Jet');
   MyReg.Free;

   MyReg:=TRegistry.Create;
   Myreg.RootKey:=HKEY_CURRENT_USER;
   MyReg.OpenKey('SOFTWAREODBCODBC.ININazwa_AliasuEnginesJet',TRUE);
   MyReg.WriteString('ImplicitCommitSync','');
   MyReg.WriteInteger('MaxBufferSize',2048);
   MyReg.WriteInteger('PageTimeout',5);
   MyReg.WriteInteger('Threads',3);
   MyReg.WriteString('UserCommitSync','Yes');
 end;

odtworzylem po prostu zapis ODBC
dziala

gwyhyr


Czesc !

    Dzieki za odpowiedz.
Problem tkwi w czym innym.
Zapisy do rejestru DSN sa jak najbardziej prawidlowe.
Instalka nie instaluje mi prawidlowo ODBC - sterownikow.
Jak tworze instalke z InstallShield'em do programu z baza Acces 97
(installShield ma opcje wlaczania sterownikow do Acces'a97) to przy
tworzeniu dyskietek wyswietla komunikat o problemie z lokalizacja plikow.
Plikow tym nie ma. Wiec wydaje mi sie ze InstallShield ma stary wykaz plikow
wymaganych przez ODBC do acces'a.
Dlatego pytam czy moze ktorys z szanownych kolegów spotkal sie z tym
problemem i jakos go rozwiazal.

Pozdrawiam
    Krzysiek

Przeczytaj wszystkie posty z tego wątku



Temat: Programowe dodawanie systemowego DSN ODBC, MS Access


Panie Dariuszu, zanim Pan Paweł odpowie to ja zacytuję
tymczasem odpowiedź z
zamierzchłych czasów, która padła w tej sprawie na liście,


[ciach]


Hope this helps ;)

Pozdrawiam,
Morris


O widzi Pan, Panie Lodku, znalazł Pan mój stary post :)

Ale poniżej konkretnie dodanie DSN dla Accessa:

<CODE
const
  ODBC_ADD_DSN            = 1;
  ODBC_CONFIG_DSN         = 2;
  ODBC_REMOVE_DSN         = 3;

  ODBC_ADD_SYS_DSN        = 4;
  ODBC_CONFIG_SYS_DSN     = 5;
  ODBC_REMOVE_SYS_DSN     = 6;
  ODBC_REMOVE_DEFAULT_DSN = 7;

function SQLConfigDataSource(Parent:HWND;
                             Request:Word;
                             Driver:PChar;
                             Attributes:PChar):Boolean; stdcall;
                             external 'odbccp32.dll';

procedure AddDSN();
var
  DSNAttributes : String;
  ODBCDriver    : String;
begin
  ODBCDriver:='Microsoft Access Driver (*.mdb)';
  DSNAttributes:='DSN=MyDSN' + #0 +
                 'UID=admin' + #0 +
                 'SafeTransactions=0' + #0 +
                 'FIL=MS Access;' + #0 +
                 'DriverId=25' + #0 +
                 'Description=Mój DSN' + #0 +
                 'DBQ=D:dokumentyPawełpliki.mdb' + #0 + #0;

  if SQLConfigDataSource(0,
                         ODBC_ADD_SYS_DSN,
                         PChar(ODBCDriver),
                         PChar(DSNAttributes)) then
    MessageBox(0,'OK','...',MB_ICONINFORMATION);
end;
</CODE

A co do parametrów (DSNAttributes), to już trzeba emirycznie. Ja to zrobiłem
tak:
w Menedżerze ODBC dodałem sobie DSN a potem sprawdziłem w rejestrze
w HKLMSOFTWAREODBCODBC.INI<utworzony DSNco zostało zapisane :)

Pozdrawiam,
Morris

PS. Jeśli ktoś potrzebuje help do ODBC to służę - format HTML Help, po
spakowaniu
RAR-em około 2 MB (2208388 bajtów).

Morris
pawel.paw@domdata.depfa-it.com

Przeczytaj wszystkie posty z tego wątku



Temat: Applet i MS Acces
ZnalazÂłem teÂż w necie nastĂŞpujÂący plik:

/*
add
permission java.util.PropertyPermission "file.encoding","read";
permission java.lang.RuntimePermission
"accessClassInPackage.sun.jdbc.*";
in java.policy

*/

import java.sql.*;
import java.awt.*;
import java.applet.*;
import javax.swing.*;

/*
<APPLET CODE="test.class" WIDTH="500" HEIGHT="500"
</APPLET
*/

public class test extends Applet {

        Connection con;
        public void init() {
                try {
                        String filename = "C:\Documents and
Settings\lukasz\Desktop\license generator\Licenses.mdb";
                        String database = "jdbc:odbc:Driver = { Microsoft Access Driver
(*.mdb) };DBQ =";
                        database += filename.trim() + ";DriverID = 22;READONLY = false}";
                        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
                        con = DriverManager.getConnection(database, "", "");
                } catch (Exception e) {
                        e.printStackTrace();
                }
        }

        public void paint (Graphics g) {
                try {
                        String[] tableTypes = {"TABLE"};
                        DatabaseMetaData metadata = con.getMetaData();

                        ResultSet rs = metadata.getTables(null, null, null, tableTypes);

                        int y = 50;
                        int i = 0;

                        while (rs.next()) {
                                String str = rs.getString(3);
                                String oneLine = "Table " + str;
                                g.drawString(oneLine, 20, y);
                                y += 15;
                        }
                        con.close();
                } catch (Exception e) {
                        e.printStackTrace();
                }
        }

}


MyÂślaÂłem, Âże chociaÂż to bĂŞdzie dziaÂłaĂŚ, ale tu dostajĂŞ
nastêpuj¹ce b³êdy:
sao.wszia.edu.pl/~s9904/error2.jpg

Przeczytaj wszystkie posty z tego wątku



Temat: POlaczenie z JDBC

Witam!

Pytanie:

a) Dlaczego tak sie dzieje ?
b) i jak mozna temu zaradzic?

z naciskiem na b ;-)

Problem:

Konsola wypluwa cos takiego:
Start...
Rejestrowanie sterownika...
Nawiazywanie polaczenia...
Nieee
java.sql.SQLException: [Microsoft][Menedżer sterowników ODBC] Nie można
odnaleźć nazwy źródła danych, a nie ma podanego sterownika domyślnego
java.sql.SQLException: [Microsoft][Menedżer sterowników ODBC] Nie można
odnaleźć nazwy źródła danych, a nie ma podanego sterownika domyślnego
 Â       at sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source)
 Â       at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source)
 Â       at sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(Unknown Source)
 Â       at sun.jdbc.odbc.JdbcOdbcConnection.initialize(Unknown Source)
 Â       at sun.jdbc.odbc.JdbcOdbcDriver.connect(Unknown Source)
 Â       at java.sql.DriverManager.getConnection(Unknown Source)
 Â       at java.sql.DriverManager.getConnection(Unknown Source)
 Â       at Baza.<init(Baza.java:41)
 Â       at Baza.main(Baza.java:63)

Kod zrodlowy wyglada tak:

 Â               try {
 Â                       System.out.println("Rejestrowanie sterownika...");
 Â                       Class.forName


("sun.jdbc.odbc.JdbcOdbcDriver");                  

 Â                       System.out.println("Nawiazywanie


polaczenia...");                      

 Â                       con = DriverManager.getConnection


("jdbc:odbc:ksiazka.mdb", "Koniu", "");


 Â                       System.out.println("Tworzenie polecenia...");
 Â                       stmt = con.createStatement();
 Â                       System.out.println("Wydanie polecenia...");
 Â                       stmt.executeUpdate(CreatePhoneBook);
 Â                       
 Â               } catch (SQLException e1) {
 Â                       // TODO Auto-generated catch block
 Â                       System.out.println("Nieee");
 Â                       e1.printStackTrace();
 Â                       System.out.println(e1.toString());
 Â               }
 Â               catch (ClassNotFoundException e) {
 Â                       // TODO Auto-generated catch block
 Â                       System.err.print("ClassNotFoundException");
 Â                       e.printStackTrace();
 Â               }      

Jakies pomysly tudziez domysly?

Pozdrawiam
Koniu


Ja tez z tym walczylam i znalazlam nastepujaca skladnie, ktora dziala:
Connection conn1=DriverManager.getConnection("jdbc:odbc:driver={Microsoft
Access Driver (*.mdb)};DBQ=users.mdb");

Agata

Przeczytaj wszystkie posty z tego wątku
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • erfly06132.opx.pl



  • Strona 3 z 4 • Zostało wyszukane 203 wypowiedzi • 1, 2, 3, 4

    © 2009 Najlepszy miesiąc kawalerski w Polsce !!! - Ceske - Sjezdovky .cz. Design downloaded from free website templates