labview的深入探索----數(shù)據(jù)庫連接的幾個基本概念
NI 公司對通用數(shù)據(jù)庫提供了LABVIEW的組件,通過ADO提供了對數(shù)據(jù)庫的完全支持.
ADO是通過連接字符串打開數(shù)據(jù)庫的,因此有必要了解一下數(shù)據(jù)庫連接的幾個基本概念.
1.odbc,oledb,ado,adox的關(guān)系:
odbc: 曾經(jīng)的數(shù)據(jù)庫通信標(biāo)準(zhǔn)
oledb: 在一切對象化的趨勢下,ms打算用它取代odbc.
oledb分兩種:直接的oledb和面向odbc的oledb,后者架構(gòu)在odbc上,這樣沒有自己的oledb提供者的數(shù)據(jù)庫也可以使用oledb的特點了。
ado: 其實只是一個應(yīng)用程序?qū)哟蔚慕缑?,它用oledb來與數(shù)據(jù)庫通信。
adox: 對ado的安全性,維護(hù)性(如:創(chuàng)建一個數(shù)據(jù)庫)進(jìn)行了擴(kuò)展。
2.用odbc連接數(shù)據(jù)庫:
odbc中提供三種dsn,它們的區(qū)別很簡單:用戶dsn只能用于本用戶。系統(tǒng)dsn和文件dsn的區(qū)別只在于連接信息的存放位置不同:系統(tǒng)dsn存放在odbc儲存區(qū)里,而文件dsn則放在一個文本文件中。
它們的創(chuàng)建方法就不說了。
在asp中使用它們時,寫法如下:
A.sql server:
用系統(tǒng)dsn: connstr="DSN=dsnname; UID=xx; PWD=xxx;DATABASE=dbname"
用文件dsn: connstr="FILEDSN=xx; UID=xx; PWD=xxx;DATABASE=dbname"
還可以用連接字符串(從而不用再建立dsn):
connstr="DRIVER={SQL SERVER};SERVER=servername;UID=xx;PWD=xxx"
B.access:
用系統(tǒng)dsn: connstr="DSN=dsnname"
(或者為:connstr="DSN=dsnname;UID=xx;PWD=xxx")
用文件dsn: connstr="FILEDSN=xx"
還可以用連接字符串(從而不用再建立dsn):
connstr="DRIVER={Microsoft Access Driver};DBQ=d:abcabc.mdb"
3.用oledb連接數(shù)據(jù)庫:
A.sql server:
connstr="PROVIDER=SQLOLEDB;
DATA SOURCE=servername;UID=xx;PWD=xxx;DATABASE=dbname"
B.access:
connstr="PROVICER=MICROSOFT.JET.OLEDB.4.0;
DATA SOURCE=c:abcabc.mdb"
4.使用UDL文件:
UDL文件是用來存放數(shù)據(jù)庫連接信息的一個文本文件,有點象文件DSN,不過UDL是針對OLEDB(直接的和面向ODBC的)的。
UDL的創(chuàng)建方法:
右擊桌面或資源管理器-》新建-》microsoft數(shù)據(jù)連接
其中的設(shè)置工作應(yīng)該比較清楚了。
UDL的用法:
connstr="file name=e:abcabc.udl"
通過上面的介紹可以看出ADO操作數(shù)據(jù)庫的層次結(jié)構(gòu)
ADO---->OLEDB---->數(shù)據(jù)庫
ADO---->OLEDB----->ODBC---->數(shù)據(jù)庫
對于系統(tǒng)DSN,可以直接給出ODBC 名稱,ADO COM自動到ODBC系統(tǒng)區(qū)查找,看LV本身的連接例子