none
[VB.Net 2005]使用Access如何讓使用者安裝後無法直接開啟該檔 RRS feed

  • 問題

  • 請問一下各位前輩

    我使用vb.net 2005開發應用程式

    該程式會存取Access的資料

    如此我在封裝程式時勢必就要連同該資料庫檔一起封裝

    使用者安裝後資料庫會存在我的應用程式資料夾下的某個地方

    但是我不希望使用者可以直接開啟這個Access檔

    (如果只是設access檔的密碼,網路上有很多提供破解的程式)

    最好是使用者根本不知道有這個資料庫、看不到這個資料庫的存在

    請問我該如何做?

    當然不一定要用access

    我的目的是

    1. 不必限制使用者一定要安裝某種資料庫(因為我聽說vb.net中使用*.MDB 使用者不需要有 Access 就可以使用, .NET 的 OLEDB 支援直接存取,因為程式還沒寫完,所以一直沒時間驗證)

    2. 使用者無法直接存取該資料庫

    請問各位前輩,有辦法達到上述兩種要求嗎?該如何做?

    謝謝大家的幫忙!

    2006年10月11日 上午 08:06

解答

  • 試試改掉附檔名的方式..這樣使用者就不會知道你的檔案是access的database檔..除非你告訴他
    2006年10月11日 上午 08:20
  • Hi,

    回覆關於您第一個問題,使用MDB檔案的話用戶端不需要安裝Access之類的軟體就可以使用。

    另外,您可以考慮使用SQL Server 2005 Express,有一些限制,但也是免費的;不過安裝上可能會麻煩一些就是了。

    2006年10月11日 下午 12:18
    版主

所有回覆

  • 試試改掉附檔名的方式..這樣使用者就不會知道你的檔案是access的database檔..除非你告訴他
    2006年10月11日 上午 08:20
  • Hi,

    回覆關於您第一個問題,使用MDB檔案的話用戶端不需要安裝Access之類的軟體就可以使用。

    另外,您可以考慮使用SQL Server 2005 Express,有一些限制,但也是免費的;不過安裝上可能會麻煩一些就是了。

    2006年10月11日 下午 12:18
    版主
  •  bauann 寫信:

    Hi,

    回覆關於您第一個問題,使用MDB檔案的話用戶端不需要安裝Access之類的軟體就可以使用。

    另外,您可以考慮使用SQL Server 2005 Express,有一些限制,但也是免費的;不過安裝上可能會麻煩一些就是了。

    謝謝您的回答

    另外想再請教一下

    如果我使用SQL Server 2005 Express

    vb.net在封裝時是不是就會自動幫我把相關sql的元件一起封裝進去?

    使用者在安裝我開發的應用程式時,是否還要再另外安裝其它東西?或是對安裝環境有一定的限制?

    謝謝您的幫忙~~

    2006年10月12日 上午 01:32
  •  速沛小子 寫信:
    試試改掉附檔名的方式..這樣使用者就不會知道你的檔案是access的database檔..除非你告訴他

    謝謝您的回答

    這真的是一個簡單又有用的方法

    (>///<...有時太執著於技術,都忘了有很多目的簡簡單單就可以達到)

    但是改掉副檔名後不知VB.net認不認這個檔

    我這兩天會試試這個方法

    謝謝您的答案

     

    2006年10月12日 上午 01:34
  • Hi,

    有關SQL Server 2005 Express您可以參考MSND上的相關文件

    http://msdn2.microsoft.com/zh-tw/library/ms143441.aspx

    另外您可以先看這篇文章

    http://forums.microsoft.com/MSDN-CHT/ShowPost.aspx?PostID=805338&SiteID=14

    2006年10月12日 上午 02:31
    版主
  • VB 不用認得,OleDb 跟 Odbc 都支援改名後的 Access...
    2006年10月12日 上午 02:59
    版主
  •  

    除了直接改檔名之外,還可以再動一點手腳 ”加密” 

    我很久以前有做過把一個檔案做簡單的”加密”

    就是存檔時把檔案的所有byte 讀出 加上一個特定的數再回存

    讀取時再扣掉那特定的數再讀出

    所以你可以在程式開啓時把你的access db 解密

    當程式關閉時再把你的access db 加密

    這樣就算不用改檔名 使用者也開不起來還會一頭霧水

    明明是access 但怎麼打不開

    2006年10月12日 上午 06:02
  •  璉璉 寫信:
    VB 不用認得,OleDb 跟 Odbc 都支援改名後的 Access...

    呵~~~

    我剛才有試

    真的ok~~

    原來OleDB這麼聰明丫

    我還以為他們會認副檔名咧(看來是我耍笨...>///<)

    謝謝您的回答

    2006年10月12日 上午 06:13
  •  bauann 寫信:

    Hi,

    有關SQL Server 2005 Express您可以參考MSND上的相關文件

    http://msdn2.microsoft.com/zh-tw/library/ms143441.aspx

    另外您可以先看這篇文章

    http://forums.microsoft.com/MSDN-CHT/ShowPost.aspx?PostID=805338&SiteID=14

    ok

    我會好好研究的

    謝謝您的回答

    2006年10月12日 上午 07:20
  •  KenLin 寫信:

     

    除了直接改檔名之外,還可以再動一點手腳 ”加密” 

    我很久以前有做過把一個檔案做簡單的”加密”

    就是存檔時把檔案的所有byte 讀出 加上一個特定的數再回存

    讀取時再扣掉那特定的數再讀出

    所以你可以在程式開啓時把你的access db 解密

    當程式關閉時再把你的access db 加密

    這樣就算不用改檔名 使用者也開不起來還會一頭霧水

    明明是access 但怎麼打不開

    謝謝您的回答

    我會找機會試試這種做法

    不過感覺我可能還要再多磨點技術....才有可能做得出來

    呵~~~我會找機會挑戰看看這種做法的

    謝謝~~~

    2006年10月12日 上午 07:25
  • :::檔案加解密:

    '加密
    Dim file1 As FileInfo = New FileInfo("C:\Save.doc")  
    file1.Encrypt()  

    '解密
    file1.Decrypt()

    2006年10月12日 上午 07:40
  • 請問小琳:

    檔案加解密,在VB6中,可以辦到嗎?語法要怎麼寫?

    2006年10月21日 上午 07:49
  • 此問題加密實在沒意義...

    VB6 的範例在微軟網站上就有:

  • Adding File Compression and Encryption in Visual Basic 6.0 Using the Microsoft .NET Framework - Part 1
    In this two-part article series, you’ll see how you can easily add encryption and data compression (ZIP) capabilities to existing Visual Basic 6.0 applications using the .NET Framework.
  • Adding File Compression and Encryption in Visual Basic 6.0 Using the Microsoft .NET Framework - Part 2
    Add data compression (ZIP) capabilities to existing Visual Basic 6.0 applications using the .NET Framework.
2006年10月21日 上午 10:51
版主