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]