欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁 > 知識庫 > 讓Sqlite脫離VC++ Runtime獨立運行的方法

讓Sqlite脫離VC++ Runtime獨立運行的方法

熱門標簽:浦發電話機器人提醒還款 400電話如何申請取消 柳州電銷機器人公司 百度地圖怎樣做地圖標注 騰訊地圖標注手機 征途美甲店地圖標注 電銷語音機器人型號參數 昆明語音電銷機器人價格 太原400電話上門辦理

目前手頭上的一個.NET項目用到了Sqlite,這是我第一次接觸和使用Sqlite,總體感覺還是非常不錯的。這里把我使用Sqlite的經驗跟大家分享一下。

一.關于Sqlite  

  Sqlite是一款開源的、適合在客戶端和嵌入式設備中使用的輕量級數據庫,支持標準的SQL。

  不像SqlServer或Oracle的引擎是一個獨立的進程、通過TCP或命名管道等與程序進行通信,SQLite卻是作為程序的一個部件、一個構成部分,使用Sqlite的方式就是直接在程序中進行API調用。

  原始的Sqlite是沒有一個向SqlServer企業管理器的可視化操作程序的,但是有個第三方開發的應用SqliteStudio非常不錯,基本的建庫、建表、編輯數據、導出數據等功能都支持得很好。SqliteStudio運行截圖如下所示:

Sqlite資源鏈接:

(1)Sqlite官網:可以從官網下載源碼、或下載已經編譯好的二進制版本。支持的系統包括:Linux、MacOS、Windows、.NET。

(2)SqliteStudio:好用的Sqlite可視化管理器。

二.在.NET中使用Sqlite

  從官網下載.NET版本的Sqlite,其主要包括兩個dll:SQLite.Interop.dll、System.Data.SQLite.dll。

(1)System.Data.SQLite.dll是一個標準的托管dll,我們可以直接在.NET項目中引用并使用它,就像使用.NET自帶的System.Data命名空間中的各個對象一樣。

(2)SQLite.Interop.dll是一個非托管的dll,是Sqlite引擎核心,我們需要將其拷貝到運行目錄下,在運行時,它會被System.Data.SQLite.dll調用。

三.讓Sqlite脫離VC++運行時

  我們在項目開發完畢后測試的過程中發現,使用了Sqlite的客戶端程序在某些機器上運行時會報錯,如下所示:

  無法加載 DLL"SQLite.Interop.DLL";由于應用程序配置不正確,應用程序未能啟動。重新安裝應用程序可能會糾正這個問題。(異常來自 HRESULT:0x800736B1)

  經過一番折騰,才發現是這些機器上沒有安裝VC++運行時(Visual C++ 2005 SP1 runtime),而SQLite.Interop.dll的運行是需要VC++運行時支持的。這點太不友好了。我們的項目是基于.NET 2.0開發的,windows xp sp1 及以上版本都自帶了這個Framework,而這些機器不一定安裝了VC++運行時。所以我第一反應就是,嘗試讓Sqlite在沒有安裝VC++運行時的機器上也能正常運行。

1.方案一

  我baidu了一下,有個似乎可行的方案是這樣的:將msvcm80.dll、msvcp80.dll、msvcr80.dll這幾個動態庫也放到運行目錄下。這個方案我不太喜歡,于是我嘗試自己動手解決問題。

2.方案二

  憑借我還未完全忘記的一點VC++基礎,我知道VC++程序在編譯時可以選擇是動態鏈接到依賴的庫還是靜態鏈接,如果是靜態連接,編譯生成的二進制程序中就相當于包含了一份依賴庫的拷貝。所以,我的想法是,重新編譯 SQLite.Interop.dll,使其靜態鏈接到VC++運行庫。我下載了Sqlite的源碼,用VS2010打開,截圖如下:

     

   SQLite.Interop.2010這個項目是核心,我們需要對它的一些設置稍微做些修改,這些小修改我花了一些時間摸索才成功,這里就略去具體的摸索過程,直接給出摸索成果:

(1)打開SQLite.Interop.2010項目屬性頁面,配置屬性 -> C/C++ -> 代碼生成 -> 運行庫,該項設置為 多線程調試 (/MTd)。

(2)繼續 配置屬性 -> 清單工具 -> 輸入和輸出 -> 嵌入清單,該項原來是“是”,改成“否”。

(3)顯示所有項目文件,然后找到SQLite.Interop.2010.props文件,并打開。刪掉其中的INTEROP_MIXED_NAME>配置節點。

(4)從項目中移除“Resource Files”文件夾。

(5)重新編譯項目,生成的SQLite.Interop.dll便是我們所需要的。

 四.下載成果

  除非特別需求,否則大家沒有必要重復這一過程,我把生成的Sqlite二進制版本直接提供給大家下載使用。

補充:Sqlite官網已經提供靜態連接的庫了
http://system.data.sqlite.org/downloads/1.0.93.0/sqlite-netFx20-static-binary-bundle-Win32-2005-1.0.93.0.zip

您可能感興趣的文章:
  • c++獲取sqlite3數據庫表中所有字段的方法小結
  • SQLite教程(二):C/C++接口簡介
  • VC++操作SQLite簡單實例
  • C++操作SQLite簡明教程
  • C++ Sqlite3的使用方法

標簽:蘭州 德陽 陽泉 江蘇 白山 張家界 新疆 天門

巨人網絡通訊聲明:本文標題《讓Sqlite脫離VC++ Runtime獨立運行的方法》,本文關鍵詞  讓,Sqlite,脫離,VC++,Runtime,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《讓Sqlite脫離VC++ Runtime獨立運行的方法》相關的同類信息!
  • 本頁收集關于讓Sqlite脫離VC++ Runtime獨立運行的方法的相關信息資訊供網民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    国产不卡高清在线观看视频| 国产aⅴ激情无码久久久无码| 亚洲欧美卡通动漫| 欧美变态tickling挠脚心| 午夜精品久久久久久久99水蜜桃 | 亚洲一级片在线观看| 99九九99九九九视频精品| 91久久精品午夜一区二区| 自拍av一区二区三区| 99久久精品国产毛片| 在线免费观看不卡av| 一区二区三区蜜桃网| 亚洲熟女一区二区三区| 欧美三级中文字幕在线观看| 亚洲综合成人在线| 国产原创剧情av| 7799精品视频| 免费成人结看片| 精品无码人妻一区二区免费蜜桃| 久久无码av三级| 国产精品亚洲成人| 中文字幕av播放| 亚洲精品国产无套在线观| 日批视频在线看| 欧美一区二区视频在线观看| 久久99久久99精品免视看婷婷 | 亚洲va国产va欧美va观看| 无码任你躁久久久久久老妇| 欧美一区二区三区播放老司机| 麻豆视频观看网址久久| 香蕉久久久久久久| 亚洲免费观看高清完整版在线观看熊 | 成人做爰69片免费看网站| 亚洲国产精品久| 夜夜嗨av一区二区三区中文字幕 | 人妻av一区二区| 日韩欧美一二三区| 国产毛片一区二区| 波多野结衣亚洲色图| 亚洲主播在线播放| 插吧插吧综合网| 日本一区免费视频| 少妇高潮一69aⅹ| 精品日韩欧美在线| 成人免费高清视频在线观看| 欧美三级视频在线观看| 免费成人在线播放| 国产性生活大片| 亚洲永久免费av| 91视频在线网站| 中文字幕一区二区不卡| 亚洲熟女一区二区三区| 久久精品亚洲麻豆av一区二区| 成人av午夜电影| 69精品人人人人| 国产在线精品免费| 欧美在线一二三四区| 美女一区二区久久| 国产乱国产乱老熟300| 日韩av二区在线播放| 国产一区二区三区在线视频观看| 亚洲香肠在线观看| 成年人看的免费视频| 亚洲一区二区欧美日韩| 欧美老熟妇乱大交xxxxx| 亚洲视频电影在线| 一区二区精品免费| 一区二区三区中文字幕| 三年中国中文观看免费播放| 亚洲精品免费电影| 亚洲精品自拍视频在线观看| 亚洲成人www| 久久高清内射无套| 青青草国产精品亚洲专区无| 91国偷自产一区二区三区观看| 麻豆极品一区二区三区| 欧美午夜影院一区| 国产成人精品三级| 欧美大片免费久久精品三p| 91免费观看国产| 国产亚洲一区二区三区| 成人午夜精品无码区| 亚洲免费观看高清完整版在线观看熊 | 99re66热这里只有精品3直播 | 国产成人aaa| 欧美电影免费观看完整版| 93久久精品日日躁夜夜躁欧美| 久久久久久久久伊人| 中文字幕免费高清视频| 亚洲美女在线国产| 另类小说欧美激情| 欧美午夜精品久久久久久孕妇| 国产精品主播直播| 精品粉嫩aⅴ一区二区三区四区| 亚洲av午夜精品一区二区三区| 国产精品美女久久久久aⅴ国产馆| av2014天堂网| 亚洲人成亚洲人成在线观看图片| 美国精品一区二区| 免费观看成人av| 制服丝袜亚洲精品中文字幕| 91丨九色丨黑人外教| 国产精品久久网站| 大吊一区二区三区| 另类调教123区| 日韩视频在线永久播放| 精品久久久久久无码人妻| 亚洲人成小说网站色在线| 成人免费黄色小视频| 国产精品一二三四| 国产日产精品1区| 日韩av片在线| 精彩视频一区二区三区| 欧美www视频| 受虐m奴xxx在线观看| 三级久久三级久久| 欧美电影一区二区| 性猛交╳xxx乱大交| 亚洲国产一区二区三区| 欧美日韩在线不卡| 久久久久国产免费| 亚洲成人激情av| 91精品国产综合久久精品图片 | 日韩精品一区二区三区中文不卡| 一级黄色免费视频| 日韩精品久久久久久| 日韩一级视频免费观看在线| 亚州av综合色区无码一区| 亚洲成人综合在线| 91精品国产高清一区二区三区 | 国产香蕉精品视频| 亚洲国产一区二区a毛片| 777奇米四色成人影色区| 亚洲av成人片无码| 毛片一区二区三区| 久久久久久99久久久精品网站| 青娱乐国产视频| 国产成人精品1024| 最新高清无码专区| 欧美综合欧美视频| 人妻 丝袜美腿 中文字幕| 天涯成人国产亚洲精品一区av| 91精品国产一区二区| 成年人免费观看视频网站| 精品亚洲成a人| 国产精品女主播在线观看| 色呦呦一区二区三区| 久久黄色一级视频| 日韩电影在线看| 久久人人97超碰com| 神马午夜精品91| 香蕉视频免费网站| 麻豆91免费看| 国产精品免费丝袜| 欧美伊人久久久久久久久影院| 好吊操视频这里只有精品| 日本欧美韩国一区三区| 国产亚洲一本大道中文在线| 色婷婷国产精品久久包臀| 在线观看免费视频国产| 美女视频网站久久| 国产精品五月天| 欧美日韩一二区| 国产美女免费无遮挡| 成人激情动漫在线观看| 亚洲成a人v欧美综合天堂| 精品国产一二三区| 日本高清无吗v一区| 亚洲天堂成人av| 成人精品一区二区三区四区| 亚洲一区二区三区视频在线| 欧美精品一区二区三区高清aⅴ| 午夜av入18在线| 在线观看国产免费视频| 国产福利91精品一区二区三区| 一区二区三区免费| 久久久精品综合| 欧美性一级生活| 免费网站在线高清观看| 日本少妇xxx| 韩国av一区二区三区在线观看| 亚洲欧美二区三区| 欧美mv日韩mv| 欧美在线一二三四区| 亚洲天堂精品一区| 91丨porny丨对白| 国产成人午夜精品5599| 亚洲成年人影院| 国产精品视频yy9299一区| 日韩丝袜美女视频| 色妞www精品视频| 欧美特级黄色录像| 免费黄色在线播放| 国产成人精品免费网站| 日本不卡一二三区黄网| 亚洲人精品一区| 久久久久久久久久久久久夜| 欧美日韩精品欧美日韩精品一综合| 亚洲aaa视频| 特大黑人巨人吊xxxx|