Avatar billede janbb Juniormester
27. april 2004 - 01:42 Der er 12 kommentarer og
1 løsning

ODBC via DSN med interbasedriver

Har en bog om javascript.Den bruger en metode hvor man laver en systemdatakilde som et navn i ODBC (på win-XP-pro med IIS inst.).Hvis man bruger en acces.mdb vil man kunne bruge:

<% @language=javascript %>
<%
connection= Server.CreateObject("ADODB.Connection");
connection.open("mindsn");
%>
og det lader til at forløbe fejlfrit.
Imidlertid findes der osse i 'listen' over drivere en ODBC-driver for Interbase og man kan osse oprette et DSN, men
den kræver jo flere parametre: username og password.
er der nogen der kender syntaksen i Javascript med username og password - det bruges jo osse somme tider i Acess ?.
Så kunne jeg komme lidt videre selvom, der nok osse er andre ting, der 'mangler' endnu ;-)
Avatar billede roenving Novice
27. april 2004 - 01:49 #1
Mon ikke det er dette du skal have konverteret til Jscript:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ado270/htm/mdmthcnnopen.asp

-- altså at parametrene skal angives direkte som parametre:

connection.open(connectionID,userID,password)
Avatar billede janbb Juniormester
27. april 2004 - 01:59 #2
Den variant har jeg prøvet.
Avatar billede janbb Juniormester
27. april 2004 - 02:05 #3
Det er lidt svært med den Interbase, der er åbenbart ikke ret mange der bruger det i scriptsammenhæng.PHP-sproget har nogen forslag i manualen:
http://dk2.php.net/ibase
Men det er ikke lykkedes mig at få det til at bruge de nødv. extensions i
den vers. af php jeg har.
Faldt over at driveren kaldes interbase ODBC driver og så tænkte jeg på
DNS og den slags.
Avatar billede roenving Novice
27. april 2004 - 02:10 #4
Det er godt nok år siden jeg sidst havde fat i ODBC (og det var mod AS400 !-), men kan det tænkes, at det skal specificeres i dns'en ?-)
Avatar billede janbb Juniormester
27. april 2004 - 02:26 #5
'det' ? i DSN kan man specificere username. AS400 ? er det noget DB ?.
Den 'box' man får til DSN er ikke så avanceret som den der kommer når man
bruger MS og *.mdb hvor der er browse osv.Det er nok en der hidroerer fra den
gratisvers Interbase 5.5, jeg har fundet.
Har fra tid til anden kigget i Interbasesektionen, men her er der ikke den store
tilbøjelighed til at uddybe om scripts-relationer.
I DSN kan man osse vælge en databaseliste ? (vel hvis der er flere og
saa er der en tegnoversætter - hvor jeg har valgt latin engelsk ?
Avatar billede janbb Juniormester
27. april 2004 - 02:40 #6
Har fundet noget med con.ConnectionString, der ser lidt lovende ud.
Prøver lidt med det og kigger forbi i morgen.
Avatar billede roenving Novice
27. april 2004 - 02:56 #7
Tjah, der var jo så slet ikke Ibase-drivere på denne XP-pro ...

-- men AS400 er en relativt skalært IBM-system, som faktisk bruges en hel del i større installationer, og den er bl.a. født men en ret god IBM-database-ting, DB400, som der så også findes en ODBC-driver til, som jeg havde fat i via LotusScript (et VBscript-agtigt sprog) fra Lotus Domino/Notes ...

Jeg kan ikke huske detaljer, men der var nemlig også nogle specialiteter omkring bruger-autencificering ...
Avatar billede janbb Juniormester
27. april 2004 - 05:14 #8
Ja jeg tror det er rimelig uponåeligt at få IB til at virke i scriptsammenhæng ?.
Men det er da sjovt lige at få leget med Javascript og det er osse første gang jeg får DSN-metoden til at virke i lange tider.
MySQL burde vel osse ku køre via Javascript ?, men det har jeg desværre ikke installeret endnu.
Det er givetvis DNS delen der halter.Den vil ikke åbne DB.en udfra de oplysninger der er givet.Har prøvet med en *.mdb og det går straks bedre.
Har forsøgt noget a la :
<% @language=javascript %>
<%
connection= Server.CreateObject("ADODB.Connection");
connection.connectionString ="DNS=Interbasejob;UID=SYSDBA;PWD=MASTERKEY";
sql = "select JOB_CODE from Job";
connection.open;
res = connection.execute(sql);
while (!res.EOF) {
%>
<tr>
<td><%=res.fields("JOB_CODE")%></td>
<%
res.MoveNext();
}
%>

Men får fejlmeddelser om 'manglende oplysninger'  om drivere osv osv
Avatar billede janbb Juniormester
27. april 2004 - 14:30 #9
Det lykkedes mig at finde en njhvidberg her få E i Interbase-afd., der
havde et løsningsforslag (VBscript):
Hvis man i ODBC Interbase Driver Setup under Database name skriver:

localhost:d:\\inetpub\\wwwroot\\ribeamt\\database\\book_9.gdb

- så virker det fra en webside.
ASP koden nu simpel:
Set objConn = Server.CreateObject(\"ADODB.Connection\")

strConn = \"User ID=SYSDBA;DSN=puca;Password=masterkey;\"
objConn.Open strConn

strQuery = \"SELECT * FROM DELTAGER\"
Set objRS = objConn.Execute(strQuery)
Avatar billede janbb Juniormester
27. april 2004 - 14:48 #10
Driveren er åbenbart osse med i parametrene:

var oConn;
var oRs;
// Create ADO Connection Component to connect with sample database
oConn = Server.CreateObject("ADODB.Connection");
//oConn.Open("Provider=MSDASQL.1;Password=masterkey;Persist Security Info=True;User ID=sysdba;Data Source=ibdsn1");
oConn.Open("Driver={INTERSOLV InterBase ODBC Driver (*.gdb)};Pwd=masterkey;Uid=sysdba;db=localhost:c:ibdbsclarify.gdb"); 
oRs = oConn.Execute("select * from employee

jvf http://community.borland.com/article/0,1410,27152,00.html

samt
http://www.eksperten.dk/spm/101148

Håber det virker saa.
Avatar billede janbb Juniormester
27. april 2004 - 15:54 #11
Det lykkedes.
Som sagt satte jeg localhost: foran stien i DSN og fik
denne kode til at virke:
<% @language=javascript %>
<%
connection= Server.CreateObject("ADODB.Connection");
connection.open("DSN=interbasejob;UID=SYSDBA;PWD=masterkey");
sql = "select job_code from job";
res = connection.execute(sql);
while (!res.EOF) {
%>
<tr>
<td><%=res.fields("job_code")%></td>
<%
res.MoveNext();
}
%>



:-)
Avatar billede roenving Novice
27. april 2004 - 15:59 #12
Muy bueno !-)
Avatar billede janbb Juniormester
27. april 2004 - 15:59 #13
PS: umiddelbart ingen grund til at bruge udl-filer som
Borlands artikel ellers forvirrer begreberne lidt med.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester