本篇文章主要用来讲怎么使用OLE DB Universal Data Link (.udl) 文件快速简单的为ADO.NET OleDbConnection 对象创建一个数据库连接。
OLE DB Universal Data Link (.udl) 文件为ADO连接字符串连接OLE DB 数据源提供了一个非常方便并且经过验证的方法。使用任何以.udl为后缀名的文件都可以创建一个标准
的连接字符串。你在ADO连接对象中可以直接指定明确路径的使用一个后缀名是.UDL的文件连接一个数据库。当你使用这个文件作为参数的时候,其实它已经包含了连接字符串的信
息了。
接下来我所要讲的非常关键,这些都是从.NET Framework 类库文档中获得的:创建一个UDL为后缀名的文件,然后把它作为一个参数加载到连接字符串当中。如果你对指定的UDL
为创建操作不少于一次的时候,那只有最后一次操作的连接上的会被加载。如果连接字符串引用了UDL文件,但没有加载UDL中的类容,连接字符串间会
在每次连接的时候把所有的UDL文件重新解析一遍,因为这样UDL被解析了,它才会执行,连接字符串并不知道你给它指定了哪个UDL。 下面就来建立一个简单的控制台应用程序,引用UDL去连接数据库吧。打开你所创建的UDL文件,使用SQL Server OLE DB 提供程序去连接MS SQL Server数据库,这个UDL名字就
称作test.udl,放在C盘根目录下。
顺便说一下,udl有很多的数据库连接提供程序,如果你不想使用SQL Server的话,你可以使用其他的数据提供程序,使用其他的数据库。
- using System;
- using System.Data;
- using System.Data.OleDb;
- namespace DataLink
- {
- class Class1
- {
- static void Main(string[] args)
- {
- OleDbConnection myConnection = new OleDbConnection("File Name = c://test.udl");
- try
- {
- myConnection.Open();
- if (myConnection.State == ConnectionState.Open)
- Console.WriteLine("Connection opened successfully!");
- else
- Console.WriteLine("Connection could not be established");
- }
- catch(Exception ex)
- {
- Console.WriteLine(ex.Message.ToString());
- }
- finally
- {
- myConnection.Close();
- }
- Console.ReadLine();
- return;
- }
- }
- }
当你的UDL名字与上面的名字不一致,或者指定了一个与上面的路径不一致的路径的时候,你还是要修改一下的,不然会出错的。程序没问题,打出来的是“Connection opened
successfully!”.
当然如果你还有其它疑问的话,你可以参考微软的帮助文档。
还有我这里提供的操作步骤:
步驟一:先在你的電腦隨便一個目錄下建立一個 ???.url 的檔案。假設建立在 C:/ 的 connection.udl。
步驟二:這時你就會發現剛剛建立的檔案圖示不太一樣,用滑鼠點兩下後就會蹦出一個 "資料連結內容" 的視窗。
步驟三:看到這個視窗就知道怎麼設定了吧!不知道我也沒辦法了。在最後一個 "全部" 的分頁裡可以設定資料提供者的屬 性。
設定完後,可以使用 "記事本" 來開啟這個檔案,便可以看到連線字串。直接複製給 OleDbConnection.ConnectionString 使用就好了。
想要更偷懶?往下看...
剛剛已經假設把 udl 檔案建立於 "C:/connection.udl" 並將資料連結內容設定完畢。
你可以不需要將 udl 內的連線字串複製給 ConnectionString 用,只要將 ConnectionString 指向這個檔案就好。用法為:File Name=實體路徑的udl檔案名稱。
範例:
Dim conn as New System.Data.SqlClient.OleDbConnection
conn.ConnectionString = "File Name=C:/connection.udl"
這樣就完成了~~~要使用虛擬路徑對應的話可搭配 Server.MapPath 使用。
如果你想更直观的看到你的连接字符串,那我也有简便的方法:
在你创建好那个UDL文件后,新建一个记事本或者只要可以显示文字的东西,打开记事本,然后把设置好的UDL直接拖到记事本中,然后你就可以看到了
- [oledb]
- ; Everything after this line is an OLE DB initstring
- Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:/Documents and Settings/Administrator/桌面/CardManager.dll;Persist Security Info=False
里面就包括了你的连接字符串,当然我是连接的是ACCESS数据库,它本身还是提供了很多的支持程序,支持许多的数据库以及各种连接,很好用,大家一定要用啊!