none
更換作業系統後 無法更新資料庫 RRS feed

  • 問題

  • 更換作業系統後 無法更新資料庫

    我本來用VB2008   作業系統是XP  即OFFICE 2007的 ACCESS

    從證交所下載資料在轉入到ACCESS都沒問題

    昨天把程式移到VB2008  WIN7    OFFICE2010 

    可是資料庫還是舊的2007的資料庫  COPY 過去的

    我開啟程式後(我有用管理者去開啟)   有看到它能從網路上成功下載下來

    但確沒辦法更新資料到ACCESS  

    請問一下   我哪裡要更該嗎

    還有我在WIN7 按VB的開始偵錯  卻沒辦法從網路上下載資料   我是猜因為我沒有用(系統管理者)去開程式 所以沒辦法DEBUG

    請問一下  有什麼辦法能用系統管理者去開VB的編輯軟體

    因為我一直用使用XP  所以對這些都不清楚

    謝謝 

    2011年10月21日 上午 04:10

解答

所有回覆

  • http://www.dotblogs.com.tw/chou/archive/2010/01/06/12867.aspx
    小朱的技術隨手寫:http://www.dotblogs.com.tw/regionbbs/
    雲端學堂Facebook: http://www.facebook.com/studyazure
    2011年10月21日 上午 04:32
    版主
  • 換了主機..大概是32位元跟64位元的老問題了吧~GOOGLE一下這方面吧 :)
    coding or not
    2011年10月21日 上午 05:27
  • [卡到陰事件簿歡樂團圓大結局]

    [[IADP] 如何修改包裝在msi中的檔案權限]

    看看這兩篇中有沒有一些線索吧.


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。
    2011年10月21日 上午 07:22
    版主
  • 1. UNC 問題

    1a. http://social.msdn.microsoft.com/Search/zh-TW/?Refinement=112&query=ProgramData

    2. Oledb / odbc for Access 沒有 Win64 版本~


    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2011年10月21日 下午 12:38
  • 1. UNC 問題

    1a. http://social.msdn.microsoft.com/Search/zh-TW/?Refinement=112&query=ProgramData

    2. Oledb / odbc for Access 沒有 Win64 版本~


    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。

     
    第一個問題可以了 那請問

    第二個問題要怎麼解決

    是(oleDB) 2008沒有支援 64位元access資料庫的功能嗎

    那2010有嗎 

    請問一下 這樣的作業環境   我要連到access資料庫的物件有相關的參考資料嗎

     

     




    • 已編輯 x32 2011年10月21日 下午 03:37
    2011年10月21日 下午 03:02
  • 把 Target Platform 設為X86, 不要設成 AnyCPU
    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。
    2011年10月21日 下午 04:30
    版主
  • 是 Win64 沒有。

    微軟下載中心前陣子有 Access for Win64 用的,我自己沒試過,你可以試試。


    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2011年10月21日 下午 04:39
  • 是 Win64 沒有。

    微軟下載中心前陣子有 Access for Win64 用的,我自己沒試過,你可以試試。


    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。


    http://www.microsoft.com/downloads/zh-tw/details.aspx?familyid=c06b8369-60dd-4b64-a44b-84b371ede16d&displaylang=zh-tw

    我剛去下載 AccessDatabaseEngine_X64.exe

    結果也是一樣 

    把 Target Platform 設為X86

    也是沒辦法使用

    那請問一下 是ACCESS不能用 那其他的應該能用吧

    如 MS SQL

    2011年10月22日 上午 02:55
  • 你為什麼不是直接把target platform改成X86就好 ? 在X64的OS下一樣會靠WOW執行啊

    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。
    2011年10月22日 上午 04:12
    版主
  • x86 是一定可以的,如果你不能存取,請列錯誤訊息。一般都是 UNC 的延伸問題,你可以關掉 UNC 再試。
    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2011年10月22日 上午 04:21
  • 我一開始 的確是改   target platform改成X86

    結果沒用   錯誤資訊我不知道 因為我那個區塊 用   TRY ...  ...

    之後才去下載AccessDatabaseEngine_X64.exe

    UNC 是伺服器要透過網路去讀取才要用嗎

    我是直接在同一台電腦

    我現在已經幼安裝AccessDatabaseEngine_X64.exe  那要怎麼辦呢

    這個能移除嗎

    我剛是 64  跟 x86

    發現X86一開始就當掉       64反而能讀到  因為我是在更新資料時  裡面是有日期的 他會先讀取ACCESS的更新日期

    所以他一開始的確讀的到資料 只是不知道為什麼   第二次再去連ACCESS就沒辦法了

     

     

     

     CUP X86

    錯誤訊息

    第一個可能發生的例外狀況類型 'System.InvalidOperationException' 發生於 System.Data.dll
    逐步執行: 不進入非使用者程式碼 'System.Windows.Forms.Control.WmShowWindow'
    逐步執行: 不進入非使用者程式碼 'System.Windows.Forms.NativeWindow.DebuggableCallback'
    逐步執行: 不進入非使用者程式碼 'System.Windows.Forms.Control.SetVisibleCore'
    逐步執行: 不進入非使用者程式碼 'System.Windows.Forms.Form.SetVisibleCore'
    逐步執行: 不進入非使用者程式碼 'System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner'

    程式碼

          Dim datestr, datestr_Now As Date
            Dim selectCmd As String
            '-----------------
            Dim m, n As Integer
            Dim str5, str6 As String

            connStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Stock.accdb"
            conn = New OleDbConnection(connStr)
            selectCmd = "Select * from List"
            conn.Open()   '<<<死在最前面的位置   

     

     

    CUP    64    後面那才當掉

    錯誤訊息

    第一個可能發生的例外狀況類型 'System.InvalidOperationException' 發生於 System.Data.dll

    程式碼

          Dim cs As String
                cs = "Data Source=" + FileName1 + ";" + "Provider=" + ProviderName + "Extended Properties=" + ExtendedString + "HDR=" + Hdr + "IMEX=" + IMEX


                Dim cn As OleDbConnection = New OleDbConnection(cs)


                Dim qs As String = "select * from[1$]"

     

                Dim dr As OleDbDataAdapter = New OleDbDataAdapter(qs, cn)


                Dim dt As DataTable = New DataTable()

                dr.Fill(dt)      ' <<<<<在這發生錯誤

     



    • 已編輯 x32 2011年10月22日 上午 07:18
    2011年10月22日 上午 06:43
  • 不須移除,不管有沒有用到。

     

    放 Access 的目錄,請授於完整的存取權。

     

    你的連線字串看得令人覺得很奇怪,一下是 Access 2007 ,一下是 Excel ...

    請把正確且完整的連線字串貼出來,才知道你是不是正確呼叫新版的 Oledb。

    測試過程中,請把資料檔放在 C 槽以外的磁碟。


    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2011年10月22日 上午 08:08
  • 不須移除,不管有沒有用到。

     

    放 Access 的目錄,請授於完整的存取權。

     

    你的連線字串看得令人覺得很奇怪,一下是 Access 2007 ,一下是 Excel ...

    請把正確且完整的連線字串貼出來,才知道你是不是正確呼叫新版的 Oledb。

    測試過程中,請把資料檔放在 C 槽以外的磁碟。


    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。


    我剛看到才發現我講錯

    整個流程就是先連線到access   並請讀取 "List"那一頁   因為我要先資到 我資料更新到哪一天

            Dim str1, str2 As String
            Dim datestr, datestr_Now As Date
            Dim selectCmd As String
            '-----------------
            Dim m, n As Integer
            Dim str5, str6 As String

            connStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Stock.accdb"
            conn = New OleDbConnection(connStr)
            selectCmd = "Select * from List"
            conn.Open()                                                                      '使用0x86會當在這
            da = New OleDbDataAdapter(selectCmd, conn)
            da.Fill(ds, "List")

     

    接下來到證交所下載當天的交易資料   那個cvs檔      我先把他另存成 excel   

    接著就把她打開讀取資料    現在發生的就是當我使用   cpu64     他會死在在   dr.Fill(dt)    這裡

    下面是他的程式碼   


                Dim FileName1 As String = "C:\\1.xls"

                Dim ProviderName As String = "Microsoft.Jet.OLEDB.4.0;"

                Dim ExtendedString As String = "'Excel 8.0;"

                Dim Hdr As String = "Yes;"

                Dim IMEX As String = "1';"

                Dim cs As String
                cs = "Data Source=" + FileName1 + ";" + "Provider=" + ProviderName + "Extended Properties=" + ExtendedString + "HDR=" + Hdr + "IMEX=" + IMEX
                Dim cn As OleDbConnection = New OleDbConnection(cs)
                Dim qs As String = "select * from[1$]"

                Dim dr As OleDbDataAdapter = New OleDbDataAdapter(qs, cn)
                Dim dt As DataTable = New DataTable()

                dr.Fill(dt)                                                      '<<<這裡會當掉

     

    或許是因為 excel 2010有新的連線語法嗎    因為我現在的office 是2010  

    我目前只有那個 access是copy 舊的過去的   其他的檔案是自行生成的

    下面是開啟 csv檔    另存成    excel 檔   請各位幫我看看 我哪個步驟宣告錯誤   謝謝

          Dim xlsapp As Object = CreateObject("Excel.Application")
            Dim xlsBook As Object = xlsapp.Workbooks.Open(Filename:="c:\1.csv", UpdateLinks:=False, ReadOnly:=False)
            Dim xlsSheet As Object = xlsBook.ActiveSheet()
            xlsSheet.SaveAs(FileName:="c:\1", FileFormat:=Excel.XlFileFormat.xlExcel8)

     

     

     

     

     

    2011年10月22日 上午 11:38
  • 不要用 C 碟是因為 Vista 以後,C 碟的權限與其他磁碟不一樣,用 C 碟可能有更多權限問題。

    Win64 沒有 oledb 4.0 ,你安裝那個 AccessDatabaseEngine_X64.exe 就是給 Win64 用的 oledb 。

    所以 Excel 不能用 oledb 4.0 ,而須使用類似下面這樣來宣告:

    Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\Path\File.xls;Extended Properties="Excel 8.0;HDR=YES"

    你有用到 Automation ,請確認你存完檔後,記憶體內沒有 Excel.exe ,因為 Excel 檔是獨占式存取,你記憶體內的 Excel.exe 還沒釋放的話,會影響 oledb 的存取。


    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2011年10月22日 下午 03:21
  •  

    更改了 還是一樣的結果 

    Dim cn As OleDbConnection = New OleDbConnection(cs)

    我用滑鼠指向   cn   他寫作業無效關閉連結

     

     



    • 已編輯 x32 2011年10月22日 下午 06:21
    2011年10月22日 下午 05:14
  • 你可以先用 VB2008 IDE 環境左側的伺服器總管用 Oledb 建立新的連線,那個可以確保 x86 相容程式使用新版的 oledb 是正確的,也可以協助你測試。

    操作步驟可以看看這篇,把你的目標改為 Excel 檔案:

    .Net 學習 Access 資料庫的基礎測試

     

    另外前面有提到:

    你有用到 Automation ,請確認你存完檔後,記憶體內沒有 Excel.exe ,因為 Excel 檔是獨占式存取,你記憶體內的 Excel.exe 還沒釋放的話,會影響 oledb 的存取。


    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2011年10月23日 上午 02:36
  • 你可以先用 VB2008 IDE 環境左側的伺服器總管用 Oledb 建立新的連線,那個可以確保 x86 相容程式使用新版的 oledb 是正確的,也可以協助你測試。

    操作步驟可以看看這篇,把你的目標改為 Excel 檔案:

    .Net 學習 Access 資料庫的基礎測試

     

    另外前面有提到:

    你有用到 Automation ,請確認你存完檔後,記憶體內沒有 Excel.exe ,因為 Excel 檔是獨占式存取,你記憶體內的 Excel.exe 還沒釋放的話,會影響 oledb 的存取。


    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。


    我試過 沒辦法連結EXCEL  根本沒EXCEL的選項

    我目前是excel沒辦法導入到資料庫

    Dim cn As OleDbConnection = New OleDbConnection(cs)

    2011年10月31日 下午 02:32
  • 我的 VS2008 就是帥三倍...

    vs08_oledb12xls


    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2011年10月31日 下午 03:03
  • 我的 VS2008 就是帥三倍...

    vs08_oledb12xls


    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    請問一下 要怎麼樣才能找到你所以顯示的畫面 我找了老半天都看不到 可以列出整個執行順序嗎 我是去資料總管 連接至資料庫那找的 Access可以連接成功 可是裡面沒有 excel可以選擇 選擇的話也會是錯誤的結果 謝謝
    2011年11月1日 上午 03:21
  • 作業無效關閉連結,是因為你沒有下cn.open呀!

    connection還沒有開啟!


    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/
    2011年11月1日 上午 04:50
  • 作業無效關閉連結,是因為你沒有下cn.open呀!

    connection還沒有開啟!


    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/


    不行喔

    我剛試過  加cn.open 直接當在這一行

    我這程式XP是能執行的 是作業系統 OFFICE改了所以才不能動

    所以我之前的程式碼是可以執行的

    2011年11月1日 下午 01:23
  • 您下了cn.open就當掉了?? 請問事件顯示器中是否有Log呢?

    另外,連接Excel部份,請問您的版本是Express嗎?

    因為我用VS2010 C# Express 資料庫總管只能選3個而已,而專業版就選得到Excel


    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/
    2011年11月1日 下午 02:44
  • 類似這篇做法來連 oledb ...

    [VS2008] 讓伺服器總管叫出 ODBC 對話盒


    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2011年11月1日 下午 03:51