header image

Makro: Vzpostavi povezavo s podatkovno zbirko

Združljivost VB/VBA ADODB
Prispevek / Article Uvozimo podatke o kontaktih iz Birokrata v Outlook
Opis / Summary

Makro iz XML datoteke prebere parametre za povezavo z zbirko podatkov, vzpostavi povezavo in vrne kazalec nanjo za nadaljnje delo.

Function reads connection string from XML file, opens connection an returns reference to an opened connection as a result.

Odvisnosti / Dependencies preddefinirana XML datoteka (glej primer spodaj)

predefined XML file (see the example bellow)

Public Function MiniDB(aNameSpace As String) As Connection
On Error GoTo ErrorHandler

 Dim oXmlDoc As DOMDocument
 Dim oXmlNode As IXMLDOMNode
 Dim oDB As Connection
 Dim aXPathQry As String

 aXPathQry = "//database/connection[@name='{0}']"
 aXPathQry = Replace(aXPathQry, "{0}", aNameSpace)

 Set oXmlDoc = New DOMDocument
 oXmlDoc.Load "C:\MiniIS\cfg\config.xml"

 Set oXmlNode = oXmlDoc.SelectSingleNode(aXPathQry)
 If Not (oXmlNode Is Nothing) Then
  Set oDB = New Connection
  With oDB
   .ConnectionString = _
    oXmlNode.Attributes.getNamedItem("value").Text
   .Open
  End With
 End If

 Set MiniDB = oDB

FinalHandler:
 Set oXmlNode = Nothing
 Set oXmlDoc = Nothing
 Exit Function

ErrorHandler:
 MsgBox Err.Description, vbOKOnly + vbExclamation, _
  "[DBUti.MiniDB] Napaka: " & Err.Number
 Set oDB = Nothing
 Resume FinalHandler

End Function

Primer XML datoteke / XML file example:

<?xml version='1.0'?>
<database>
 <connection name="somename" value="Provider=SQLOLEDB;Data Source=SERVERNAME;Initial Catalog=DBNAME;User Id=USR;Password=PWD" >
  <queries>
   <query name="q1" type="select">
    ... SQL goes here ...
   </query>
   <query name="q2" type="update">
    ... SQL goes here ...
   </query>
  </queries>
 </connection>
</database>
  • Share/Bookmark

Odzivi

Pri uporabi dela morate v vašem izdelku navesti izvirnega avtorja na vidnem mestu in povezavo na to spletno mesto.

Avtor: P.J.
Web: http://office.blog.siol.net

WTF ??
kaj pa mi bo avtor in link v fajlu ???
ajd, ne rečem če bi bila to slikca joškaste in ritaste 20+ letnice :P

Za take primere so že stari Feničani iznašli odlično rešitev. Cena je stvar dogovora. ;)

Pustite komentar

Tvoj odziv :

Komentiranje iz tujine je omogočeno zgolj prijavljenim uporabnikom !