Q&A

  • ODBC 설정을 코딩으로 하는 방법?
안녕하세요?

ADO를 이용하여 액세스2000(mdb) 데이타베이스를 만들었습니다.

배포할때 PC에 ODBC 설정을 해야 하는데.. 일일이 ODBC 설정을 하지 않고..

프로그램 내부에서 코딩으로 구현하는 방법이 있는지요?

ODBC설정이 레지스트리에 존재한다면 가능할것 같기도 한데..

혹시 경험이 있으신분 있으시면 조언부탁드립니다.

그럼.. 수고하세요.

1  COMMENTS
  • Profile
    nilriri 2000.06.26 21:59
    파워빌더에서 엑셀 odbc연결을...

    아래와 같은 방법으로 했었거든요...

    아마도 엑세스도 레지스트리의 같은 경로에 존재하리라 생각합니다.

    그 내용을 직접 써준다면 가능할것 같은데요...



    이런부분은 델파이나 파빌이나 같을거라 생각하는데요...

    그럼 좋은 결과 있으시길...



    String ExcelRegKey = "HKEY_CURRENT_USERSOFTWAREODBCODBC.INIExcel"

    String Driver = "C:WINDOWSSYSTEModbcjt32.dll"

    String DBQ = "C:KKIMtest.xls"

    String DefaultDir = "C:KKIM"

    uLong DriverId = 00000022

    String FIL = "excel;"

    uLong SafeTransactions = 00000000

    String UID = ""



    String EnginesExcelKey = "HKEY_CURRENT_USERSOFTWAREODBCODBC.INIExcelEnginesExcel"

    String ImplicitCommitSync = ""

    uLong MaxScanRows = 00000008

    uLong Threads = 00000003

    String UserCommitSync = "Yes"

    integer FirstRowHasNames = 1

    String SubKeyList[]

    String ExcelFile, FileName

    DBQ = fu_exepath() + "ACCOUNT.XLS"

    DefaultDir = fu_exepath()

    DefaultDir = left(DefaultDir, len(DefaultDir) - 1)



    //레지스트리 정보가 없으면 생성

    if RegistryKeys(ExcelRegKey, SubKeyList) = -1 then

    RegistrySet(ExcelRegKey, "Driver", RegString!, Driver)

    RegistrySet(ExcelRegKey, "DBQ", RegString!, DBQ)

    RegistrySet(ExcelRegKey, "DefaultDir", RegString!, DefaultDir)

    RegistrySet(ExcelRegKey, "DriverId", RegULong!, DriverId)

    RegistrySet(ExcelRegKey, "FIL", RegString!, FIL)

    RegistrySet(ExcelRegKey, "SafeTransactions", RegULong!, SafeTransactions)

    RegistrySet(ExcelRegKey, "UID", RegString!, UID)



    RegistrySet(EnginesExcelKey, "ImplicitCommitSync", RegString!, ImplicitCommitSync)

    RegistrySet(EnginesExcelKey, "MaxScanRows", RegULong!, MaxScanRows)

    RegistrySet(EnginesExcelKey, "Threads", RegULong!, Threads)

    RegistrySet(EnginesExcelKey, "UserCommitSync", RegString!, UserCommitSync)

    RegistrySet(EnginesExcelKey, "FirstRowHasNames", RegBinary!, 1)//FirstRowHasNames)

    else

    RegistrySet(ExcelRegKey, "DBQ", RegString!, DBQ)

    RegistrySet(ExcelRegKey, "DefaultDir", RegString!, DefaultDir)

    end if



    //레지스트리에 지정된 파일이 지정된 경로에 있는지 확인

    //없으면 생성

    RegistryGet(ExcelRegKey, "DBQ", RegString!, ExcelFile)

    if Not FileExists(ExcelFile) then

    FileName = fu_exepath() + TableName

    if GetFileSaveName("Excel File Create...", ExcelFile, FileName, "XLS", "Excel Files (*.XLS),*.XLS,") <> 1 then return false



    myDW.SaveAs(ExcelFile, EXCEL5!, TRUE)



    DBQ = ExcelFile

    DefaultDir = fu_getpath(ExcelFile)

    DefaultDir = left(DefaultDir, len(DefaultDir) - 1)



    //파일생성이 끝나면 해당 파일을 레지스트리에 입력

    RegistrySet(ExcelRegKey, "DBQ", RegString!, DBQ)

    RegistrySet(ExcelRegKey, "DefaultDir", RegString!, DefaultDir)

    end if



    return true





    이현철 wrote:

    > 안녕하세요?

    > ADO를 이용하여 액세스2000(mdb) 데이타베이스를 만들었습니다.

    > 배포할때 PC에 ODBC 설정을 해야 하는데.. 일일이 ODBC 설정을 하지 않고..

    > 프로그램 내부에서 코딩으로 구현하는 방법이 있는지요?

    > ODBC설정이 레지스트리에 존재한다면 가능할것 같기도 한데..

    > 혹시 경험이 있으신분 있으시면 조언부탁드립니다.

    > 그럼.. 수고하세요.