반응형
MS Access db 를 프로그램 실행시 자동으로 odbc에 등록하여 사용하기입니다.
윈도우의 데이터원본(ODBC)에 별도설정 없이 프로그램 실행시 ODBC에 자동으로 등록됩니다.
//Global External Functions
//윈도우디렉토리 위치 확인용 함수
FUNCTION ulong GetWindowsDirectoryA(ref string wdir, long buf) LIBRARY "kernel32.dll"
//스크립트
string ls_job_folder,ls_dbname,ls_dbuid,ls_dbpwd
ls_job_folder = "C:\pbex\" // DB 파일이 있는 폴더
ls_dbname = "Database1" // DB명 , 확장자 mdb는 빼고
ls_dbuid = "admin" // DB 사용 ID
ls_dbpwd = "1234" // DB 사용 password
//OS 에 따른 Windows Directory를 읽어오기 위함
string ls_windir,ls_odbcset=''
ulong l_buf
l_buf = 144
ls_windir = space(144)
GetWindowsDirectoryA(ls_windir, l_buf)
ls_windir = Trim(ls_windir)
//먼저 odbc 등록에 필요한 odbcjt32.dll 이 시스템 폴더에 존재하는지 여부를 확인해야합니다.
IF FileExists(ls_windir + '\system32' + '\odbcjt32.dll') = False then
messagebox('에러','ODBC 자동설정에러...')
Return
else
Registryget("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Sources",ls_dbname,RegString!,ls_odbcset )
if trim(ls_odbcset) = '' then
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Sources",ls_dbname,"Microsoft Access Driver (*.mdb)" )
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\" + ls_dbname,"DBQ",ls_job_folder + ls_dbname + ".mdb")
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\" + ls_dbname,"Driver",ls_windir + '\system32' + "\odbcjt32.dll")
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\" + ls_dbname,"UID",ls_dbuid)
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\" + ls_dbname,"PWD",ls_dbpwd)
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\" + ls_dbname,"DriverId","")
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\" + ls_dbname,"FIL","MS Access;")
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\" + ls_dbname,"SafeTransactions","0")
end if
end if
//DataBase Connect ------ Script 코딩 ------
// Profile comDB
SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = False
SQLCA.DBParm = "ConnectString='DSN=Database1;UID=;PWD='"
connect ;
* 붉은색으로 된 부분은 일치되어야 합니다.
출처 ; http://wild-frontier.tistory.com/entry/%ED%8C%8C%EC%9B%8C%EB%B9%8C%EB%8D%94-MS-Access-DB-odbc%EC%97%90-%EC%9E%90%EB%8F%99%EC%9C%BC%EB%A1%9C-%EB%93%B1%EB%A1%9D%ED%95%98%EA%B8%B0