HOW TO:使用 Visual C# .NET 在 ADO.NET 中以编程方式构建连接字符串
文章 ID
:
310083
最后更新日期
:
2002年6月18日
版本
:
1.0
本文的发布号曾为 CHS310083
有关本文的 Microsoft Visual Basic .NET 版本,请参见 309485。
本文引用下面的 Microsoft .NET 框架类库名称空间:
•
System.Data.OleDb
本任务的内容
•
•
•
•
•
•
本页内容
概要
此分步指导文章演示如何使用数据链接属性对话框在设计时以编程方式创建连接字符串。
要求下面的列表列出了推荐使用的硬件、软件、网络结构以及所需的 Service Pack:
•
Microsoft Windows 2000 Professional、Windows 2000 Server、Windows 2000 Advanced Server 或 Windows NT 4.0 Server
•
Microsoft Visual Studio .NET
本文假定您熟悉下列主题:
•
Visual Studio .NET
•
ADO.NET 基础知识和语法
•
ActiveX 数据对象 (ADO) 基础知识和语法
创建 ADO 连接为了实现与组件对象模型 (COM) 的互操作性,您必须将 ADO Connection 对象声明为 ADODB._Connection,并将数据链接返回的通用对象强制转换为 ADODB._Connection。
1.
启动 Visual Studio .NET,然后新建一个 Visual C# Windows 应用程序项目。默认情况下会将 Form1 添加到项目中。
2.
从项目菜单上,单击添加引用。
3.
在 COM 选项卡上,选择以下引用:
•
Microsoft ActiveX Data Objects 2.7
•
Microsoft OLEDB Service Component 1.0 Type Library
4.
如果提示是否生成包装,单击是。
5.
在 Form1 上添加一个按钮控件添加。
6.
将以下代码添加到 Button1_Click 事件: MSDASC.DataLinks mydlg = new MSDASC.DataLinks();
ADODB._Connection ADOcon;
//Cast the generic object that PromptNew returns to an ADODB._Connection.
ADOcon = (ADODB._Connection) mydlg.PromptNew();
ADOcon.Open("","","",0);
if (ADOcon.State == 1) {
MessageBox.Show("Connection Opened");
ADOcon.Close();
}
else {
MessageBox.Show("Connection Failed");
}
7.
按 F5 键编译并运行该项目,然后单击 Button1。
8.
在数据链接属性对话框中键入相应的信息,并确保选中"允许保存密码"复选框。
9.
单击测试连接。
10.
单击确定。如果数据链接的连接测试成功,将与数据库建立连接并显示一个消息框。
创建 OLE DB 连接在使用 .NET 的 OLE DB 托管提供程序创建 OLE DB 连接时,您无法使用数据链接创建与 ODBC 数据源的连接。由于 ODBC 在 .NET 中有自己的托管提供程序,如果您在数据链接属性对话框中使用"ODBC 驱动程序的 Microsoft OLEDB 提供程序"选项,将收到一个错误。此外,因为数据链接创建一个与 OleDbConnection 对象不兼容的对象(该对象被强制转换为 ADODB._Connection),您必须将 ADO 加载到应用程序。因此,您必须创建一个 ADODB._Connection 并将其 ConnectionString 属性指定给 OleDbConnection 对象的 ConnectionString 属性,使其正常工作。
1.
启动 Visual Studio .NET,然后创建一个 Visual C# Windows 应用程序项目。默认情况下会将 Form1 添加到项目中。
2.
从项目菜单上,单击添加引用。
3.
在 COM 选项卡上,选择以下引用:
•
Microsoft ActiveX Data Objects 2.7
•
Microsoft OLEDB Service Component 1.0 Type Library
4.
将一个 Button 控件添加到 Form1。
5.
将下面的代码添加到"代码"窗口顶部: using System.Data.OleDb;
6.
将以下代码添加到 Button1_Click 事件: MSDASC.DataLinks mydlg = new MSDASC.DataLinks();
OleDbConnection OleCon = new OleDbConnection();
ADODB._Connection ADOcon;
//Cast the generic object that PromptNew returns to an ADODB._Connection.
ADOcon = (ADODB._Connection) mydlg.PromptNew();
OleCon.ConnectionString = ADOcon.ConnectionString;
OleCon.Open();
if (OleCon.State.ToString() == "Open") {
MessageBox.Show("Connection Opened");
OleCon.Close();
}
else {
MessageBox.Show("Connection Failed");
}
7.
按 F5 键编译并运行该项目,然后单击 Button1。
8.
在数据链接属性对话框中键入相应的信息,并确保选中"允许保存密码"复选框。
9.
单击测试连接。
10.
单击确定。如果数据链接的连接测试成功,将与数据库建立连接并显示一个消息框。
其他信息使用此方法创建 ODBC 连接还需要一些工作,因为数据链接创建的连接字符串特定于 OLE DB,与 ODBC 托管提供程序不兼容。为此,必须分析 ADODB 连接字符串的相关信息,如用户 ID、密码和数据源。获得这些信息后,您可以使用该信息创建特定于 ODBC 的连接字符串。切记数据链接仅使用 ODBC 数据源名称 (DSN),因此,您无法通过数据链接创建无 DSN 的连接。
参考
有关其他信息,请单击下列文章编号,查看相应的 Microsoft 知识库文章:
286189 HOWTO: Invoke the OLE DB Data Link Properties Dialog Box in Visual Basic Code(HOWTO:在 Visual Basic 代码中调用 OLE DB 数据链接属性对话框)
283245 HOWTO: Persist Data Links Programmatically(HOWTO:采用编程方式保存数据链接)
193128 HOWTO: Create an ODBC and OLEDB Connection Prompt Control in ADO(HOWTO:在 ADO 中创建 ODBC 和 OLEDB 连接提示控件)