u musti punya sqlite3odbc.dll di aplikasi u. u taroh itu di path aplikasi u.
trus pas runtime, u bs copy tu db ke system32. n pas runtime juga, u bikin
DSN scara ostosmastis... stlh DSN terbuat, u tinggal bikin connection string
nya.

ini sampel code yg dulu pernah kubuat utk register DSN SQLite ostosmastis n
sekaligus open db nya...


Private Sub RegisterSQLiteDriver(ByVal NamaDatabase As String)
Dim sValueDatabase As String, sValueDescription As String, sValueDriver As
String
Dim sValueLongNames As String, sValueNoCreat As String, sValueNoTXN As
String
Dim sValueStepAPI As String, sValueSyncPragma As String, sValueTimeout As
String

'install drivernya

 If FileExists(GetSysDir & "\sqlite3odbc.dll") = False Then
  Call FileCopy(AppPath & "\sqlite3odbc.dll", GetSysDir &
"\sqlite3odbc.dll")
 End If

install_driver:
 Dim cReg As New cRegistry
 With cReg
  .ClassKey = HKEY_LOCAL_MACHINE
  .SectionKey = "SOFTWARE\ODBC\ODBCINST.INI\SQLite3 ODBC Driver"
  .ValueKey = "Driver"
  .ValueType = REG_SZ
  .Value = GetSysDir & "\sqlite3odbc.dll"
  .ValueKey = "Setup"
  .ValueType = REG_SZ
  .Value = GetSysDir & "\sqlite3odbc.dll"
  .ValueKey = "UsageCount"
  .ValueType = REG_DWORD
  .Value = 1
 End With

bikin_dsn:
'bikin DSN
 sValueDatabase = AppPath & "\" & NamaDatabase & ".db"
 sValueDescription = "C4 SQLite3 for " & NamaDatabase
 sValueDriver = GetSysDir & "\sqlite3odbc.dll"
 sValueLongNames = "0"
 sValueNoCreat = "0"
 sValueNoTXN = "0"
 sValueStepAPI = "0"
 sValueSyncPragma = ""
 sValueTimeout = ""

 With cReg
  .ClassKey = HKEY_LOCAL_MACHINE
  .SectionKey = "SOFTWARE\ODBC\ODBC.INI\" & sValueDescription
   .ValueKey = "DATABASE"
   .ValueType = REG_SZ
   .Value = sValueDatabase
   .ValueKey = "DESCRIPTION"
   .ValueType = REG_SZ
   .Value = sValueDescription
   .ValueKey = "DRIVER"
   .ValueType = REG_SZ
   .Value = sValueDriver

   .ValueKey = "LongNames"
   .ValueType = REG_SZ
   .Value = sValueLongNames
   .ValueKey = "NoCreat"
   .ValueType = REG_SZ
   .Value = sValueNoCreat
   .ValueKey = "NoTXN"
   .ValueType = REG_SZ
   .Value = sValueNoTXN
   .ValueKey = "StepAPI"
   .ValueType = REG_SZ
   .Value = sValueStepAPI
   .ValueKey = "SyncPragma"
   .ValueType = REG_SZ
   .Value = sValueSyncPragma
   .ValueKey = "Timeout"
   .ValueType = REG_SZ
   .Value = sValueTimeout


   .SectionKey = "SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources"
   .ValueKey = sValueDescription
   .ValueType = REG_SZ
   .Value = "SQLite3 ODBC Driver"
 End With
 Set cReg = Nothing
End Sub
Public Sub OpenSQLite(ByRef db As ADODB.Connection, NamaDatabasenya As
String)
 Call RegisterSQLiteDriver(NamaDatabasenya)
 db.CursorLocation = adUseClient
 db.ConnectionString = "Provider=MSDASQL.1;" & _
                       "Persist Security Info=False;" & _
                       "Data Source=C4 SQLite3 for " & NamaDatabasenya
 'On Error Resume Next
  db.Open
  DoEvents
  If Err.Number <> 0 And db.state <> adStateOpen Then
   GoTo hell
  End If
 Exit Sub
hell:
 Call ErrorCaptured
End Sub

beberapa code musti u sesuaikan, of course... misal getsysdir(),
fileexists(), filecopy(), errorcaptured(), etc-etc...

cRegistry kusarankan pake buatan Steve McMahon (vbAccelerator)...
SQLite ODBC Driver bs u sedot dari kampungnya sono di www.sqlite.org
database nya, di sampel ku itu kupasang di app.path, ekstensinya db. silakan
disesuaikan ndiri...

*asyiknya* sqlite ini, misal database yg kmu register itu lom ada, dia bakal
mbikin tu file ndiri scr ostosmastis. n kmu bs jalanin script create table
mu (DDL) blablabla dari code juga... - klo ngga mau via code, u bs donlot jg
sqlite3 console nya (juga dari kampungnya sqlite sono)

PORTABLE BANGET pokoke..., udah gitu bisa BLOB pula... asyik banget kan??

nb : aku yakin kmu bs baca pattern dari potongan code itu kan? soalnya
biasanya yang nanya2 ttg SQLite dah ngerti2 ttg konsep pemrograman.
hehehe... tp buat yang laennya yang mo blajar, kasih comment, dll...
monggo... pintu YM ku selalu terbuka koq...


-- 
regards,

Rizky Prihanto
~~~~~~~~~~~~~~~~~~~
Office : PT Lintang Kawuryan Malang (http://www.linkar.co.id)
Personal : http://www.software-arsitek.web.id


[Non-text portions of this message have been removed]

Kirim email ke