我想爲數據庫創建ODBC DSN(只要用戶設置應用程序,該數據庫將包含在我的應用程序文件夾中)。我想知道如何使用所有必需的參數創建ODBC,以便在安裝程序運行時完成的第一件事是將數據庫連接到應用程序。我曾嘗試使用默認的VB.NET安裝嚮導和Installshield。使用VB.NET創建ODBC DSN
2
A
回答
1
我不知道通過安裝程序或VB.NET創建DSN的任何方法,但使用Windows實用程序可以創建一個。
this頁面展示如何使用命令行實用程序odbcconf
所以一旦你創建一個批處理腳本,可以根據自己的應用需求創建DSN在Windows中創建DSN,您可以觸發該批次之前把你的安裝文件複製到執行用戶電腦。因此,腳本執行後,應用程序安裝將進一步複製剩餘的文件,並且在安裝完成後,應用程序啓動後,由於現在創建了DSN,因此與DSN的連接將按預期工作。雖然我沒有使用過InstallShield,但是我對NSIS的經驗表明,通過安裝程序執行批處理腳本將在安裝過程中啓動命令提示符窗口,這可能不是您想要的。
避免顯示命令提示符窗口的另一種方法是在應用程序第一次運行之前(在靜默模式下)執行批處理腳本,然後建立與數據庫的任何連接。您可以使用WScript.Shell
對象執行批處理文件(.bat),而不顯示命令提示符窗口,如下所示。
Dim batfile As String
batfile = "C:\Program Files\Your App\YouDSNCreationBatchFile.bat"
Set WshShell = CreateObject("WScript.Shell")
cmds = WshShell.RUN("""" & batfile & """", 0, True) 'All Quotes are necessary if file path contains folders with spaces in thier names
Set WshShell = Nothing
雖然odbcconf
也可以在VB直接用於創建DSN,但如果你不想調整你的應用程序代碼在連接之前創建DSN,使用批處理腳本將是一個故障安全解決方案,然而,正如我猜想的那樣,你可能已經在try
區塊中連接了你的應用程序,所以如果你捕捉到由於缺乏DSN可用性而引發的異常,則可以再次調用該批處理腳本來創建一個或提示用戶。
!!重要提示:正如MSDN頁所述,odbcconf
實用程序可能會從未來版本的Windows數據訪問組件中刪除,如果長期使用此方法,則應重新考慮此方法。
相關問題
- 1. 如何在Linux中爲ODBC創建DSN?
- 2. 創建jdbc odbc連接而不創建MS Access中的DSN
- 3. PowerBuilder DSN創建
- 4. 閱讀普及數據庫9而不創建ODBC DSN
- 5. ODBC。能夠測試連接但無法創建dsn
- 6. 創建SQL Server DSN
- 7. jdbc odbc DSN找不到?
- 8. 訪問ODBC DSN局域網
- 9. ODBC連接字符串(DSN)
- 10. 連接PHP到UniVerse ODBC DSN
- 11. ODBC DSN的命名實例
- 12. DSN的ODBC訪問,VBA
- 13. 如何創建系統DSN
- 14. 如何爲oracleinxe創建dsn?
- 15. 如何創建oracle DSN?
- 16. 用vb.net,odbc和access編程創建存儲查詢
- 17. 檢查系統DSN並創建系統DSN(如果不存在)(i系列訪問ODBC驅動程序)
- 18. 如何使用DSN-LESS連接字符串在MSSQL中使用sp_addlinkedserver創建與OracleXE的ODBC連接?
- 19. 創建使用OCR和vb.net
- 20. Firebird - 使用查詢創建計數ODBC
- 21. .reg文件創建的DSN工作,但是沒有在數據源(ODBC)
- 22. 通過ODBC MSAccess - squirously行爲 - DSN設置
- 23. 手動關閉ODBC DSN連接
- 24. ODBC DSN降低MSSQL的超時時間
- 25. 如何使用C++通過ODBC API刪除文件DSN
- 26. 使用php的ODBC/DSN映射驅動器
- 27. 使用DSN ODBC連接到在線MySQL數據庫2
- 28. 使用DSN ODBC連接到ONLINE MySQL數據庫
- 29. ADO ODBC在VB.NET
- 30. 使用vb.net中的代碼創建與ODBC數據源的連接