conn.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;" +
@"Data source = czc.mdb";
try
{
conn.Open();
// Insert code to process data.
}
catch (Exception)
{
MessageBox.Show("Failed to connect to data source");
}
finally
{
conn.Close();
}
}//end创建Access数据库连接的代码*/
请帮忙改一下实现带密码访问`谢谢各位了`
28 个解决方案
#1
高手们帮帮忙万分感谢
#2
...............................
#3
联接字符串中也写密码就可以了。
#4
我试了`不可以`我一直没找出原因`能给个实际的代码例子吗?
#5
string strConnection="Provider=Microsoft.Jet.OleDb.4.0;";
strConnection+=@"Data Source=C:\BegASPNET\Northwind.mdb;User ID=Admin;Jet OLEDB:New Database Password=;";
strConnection+=@"Data Source=C:\BegASPNET\Northwind.mdb;User ID=Admin;Jet OLEDB:New Database Password=;";
#6
谢谢`我马上去试`
#7
this.sqlConnection1.ConnectionString = "workstation id=XX;packet size=4096;user id=XX;integrated security=SSPI;data " +"source=XX;persist security info=False;initial catalog=XX";
#8
哪有你这样写的哟
你要写在配置文档里呀
你要写在配置文档里呀
#9
change your connection string as follows:
"Provider=Microsoft.Jet.OleDb.4.0;";
strConnection+=@"Data Source=C:\BegASPNET\Northwind.mdb;User ID=Admin;Jet OLEDB:password=yourpwd;";//replace "yourpwd"
"Provider=Microsoft.Jet.OleDb.4.0;";
strConnection+=@"Data Source=C:\BegASPNET\Northwind.mdb;User ID=Admin;Jet OLEDB:password=yourpwd;";//replace "yourpwd"
#10
"Provider=Microsoft.Jet.OleDb.4.0;Data Source=yourdbfile;User ID=Admin;Jet OLEDB:password=yourpwd;";//replace "yourdbfile" and "yourpwd"
#11
来晚了,实在没什么可写的了
#12
Provider=Microsoft.Jet.OleDb.4.0;Data Source=Access文件名;User ID=用户;Jet OLEDB:password=密码;
写到webconfig
写到webconfig
#13
各位`问题仍然没有解决`我增加了数据库密码后`照大家的方法做了`但是连接不成功`错误返回就是无法打开哪个个数据库``
#14
string Lkdatabase = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = czc.mdb;User ID=Admin;Jet OLEDB:Password=tanhui";
OleDbConnection dataconn = new OleDbConnection();
dataconn.ConnectionString = Lkdatabase;
dataconn.Open();
OleDbDataAdapter chez = new OleDbDataAdapter("SELECT * FROM 车主信息表",dataconn); //查找车主信息表
OleDbDataAdapter shezhR = new OleDbDataAdapter("SELECT * FROM 日间模式收费表",dataconn); //查找日间收费模式信息表
OleDbDataAdapter shezhY = new OleDbDataAdapter("SELECT * FROM 夜间模式收费表",dataconn); //查找夜间收费模式信息表
OleDbConnection dataconn = new OleDbConnection();
dataconn.ConnectionString = Lkdatabase;
dataconn.Open();
OleDbDataAdapter chez = new OleDbDataAdapter("SELECT * FROM 车主信息表",dataconn); //查找车主信息表
OleDbDataAdapter shezhR = new OleDbDataAdapter("SELECT * FROM 日间模式收费表",dataconn); //查找日间收费模式信息表
OleDbDataAdapter shezhY = new OleDbDataAdapter("SELECT * FROM 夜间模式收费表",dataconn); //查找夜间收费模式信息表
#15
代码运行到``:::::::::`OleDbDataAdapter chez = new OleDbDataAdapter("SELECT * FROM 车主信息表",dataconn); //查找车主信息表
终止`
终止`
#16
数据库文件加上路径试试。
#17
试了`不行``
#18
"Provider=Microsoft.JET.OLEDB.4.0;data source=aa.mdb;user id=Admin;Jet OLEDB:Database Password=××;"
还有检查你数据库路径
还有检查你数据库路径
#19
我用oleDbDataAdapter 来自动生成数据集 也不行`在连接里测试的时候`如果没有密码测试连接成功
有密码并填上密码测试连接失败`显示错误消息:"测试连接失败:因为初始化提供程序时发生错误.工作组信息文件丢失,或是已被其它用户以独占方式打开."
我没用用独占方式打开`如果工作组信息文件丢失`空密码为什么可以成功连接?大家帮帮解决下`谢谢
有密码并填上密码测试连接失败`显示错误消息:"测试连接失败:因为初始化提供程序时发生错误.工作组信息文件丢失,或是已被其它用户以独占方式打开."
我没用用独占方式打开`如果工作组信息文件丢失`空密码为什么可以成功连接?大家帮帮解决下`谢谢
#20
路径绝对没错`我只要把密码设置为空`就可以连接并操作数据库了```问题就在这里``加了密码`它死活都不认`为了这个我问遍了学校很多老师``都没有找到方法```
#21
大家帮帮忙`谢谢
#22
用户有一个密码,数据库有一个密码,楼上只要区分了这一点就没问题了
#23
/// <summary>
/// 公有枚举成员-----数据库类型
/// </summary>
public enum DataBaseType{ACCESS97 = 0,ACCESS2KX = 1,SQLSERVER = 2,ORACLE = 3,ODBC = 4};
/// <summary>
/// 打开并返回 OleDbConnection 联接
/// </summary>
/// <Info>
/// <作者>周方勇</作者>
/// <创建日期>2002-10-05</创建日期>
/// <修改日期>2003-04-15</修改日期>
/// <其它说明>无</其它说明>
/// </Info>
/// <Input>
/// <param name="DataBase">数据库类型enum DataBaseType{ACCESS97 = 0,ACCESS2KX = 1,SQLSERVER = 2,ORACLE = 3,ODBC = 4}</param>
/// <param name="StrDataSourceOrAccessPath">数据源。装有SqlServer数据库的计算机名/Oracel的Net8连接串/Access文件路径/ODBC数据源</param>
/// <param name="strDefaultDataBaseOrAccessDatabasePassword">SqlServer默认数据库/Access数据库的密码</param>
/// <param name="strUserID">用户名</param>
/// <param name="strPWD">密码</param>
/// </Input>
/// <Other>
/// 要独立运行,定义 public enum DataBaseType{ACCESS97 = 0,ACCESS2KX = 1,SQLSERVER = 2,ORACLE = 3,ODBC = 4};
/// </Other>
/// <returns>返回 OleDbConnection 联接</returns>
public System.Data.OleDb.OleDbConnection GetOleDbConnection(DataBaseType DataBase,string StrDataSourceOrAccessPath,string strDefaultDataBaseOrAccessDatabasePassword,string strUserID,string strPWD)
{
//定义连接字符串
string strConn="";
//定义OleDb数据库连接
System.Data.OleDb.OleDbConnection oleDbConn=new System.Data.OleDb.OleDbConnection();
switch (DataBase)
{
case DataBaseType.ACCESS97:
strConn = "Provider=Microsoft.Jet.OLEDB.3.51;" + "Password=" + strPWD + ";User ID=" + strUserID + ";Data Source=" + StrDataSourceOrAccessPath + ";Jet OLEDB:Database Password=" + strDefaultDataBaseOrAccessDatabasePassword;
break;
case DataBaseType.ACCESS2KX:
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Password=" + strPWD + ";User ID=" + strUserID + ";Data Source=" + StrDataSourceOrAccessPath + ";Jet OLEDB:Database Password=" + strDefaultDataBaseOrAccessDatabasePassword;
break;
case DataBaseType.SQLSERVER:
strConn = "Provider=SQLOLEDB.1;Password=" + strPWD + ";User ID=" + strUserID + ";Data Source=" + StrDataSourceOrAccessPath + ";Initial Catalog=" + strDefaultDataBaseOrAccessDatabasePassword + ";Persist Security Info=True";
break;
case DataBaseType.ORACLE:
strConn = "Provider=MSDAORA.1;Password=" + strPWD + ";User ID=" + strUserID + ";Data Source=" + StrDataSourceOrAccessPath + ";Persist Security Info=True";
break;
case DataBaseType.ODBC:
strConn = "DSN=" + StrDataSourceOrAccessPath + ";UID=" + strUserID + ";PWD=" + strPWD;
break;
//default:
}//结束switch
// '清空错误
// Err.Clear()
//打开数据库
try
{
oleDbConn.ConnectionString=strConn;
oleDbConn.Open();
}
catch(System.Exception ex)
{
System.Windows.Forms.MessageBox.Show("错误提示:数据库打开失败,请与管理员联系!" + "\n" + "详细信息:" + ex.Message.ToString(), "提示", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Warning);
oleDbConn=null; //对应VB的Nothing,null 关键字是表示不引用任何对象的空引用的文字值。null 是引用类型变量的默认值。
}
//返回
return oleDbConn;
}//GetOleDbConn()结束
/// 公有枚举成员-----数据库类型
/// </summary>
public enum DataBaseType{ACCESS97 = 0,ACCESS2KX = 1,SQLSERVER = 2,ORACLE = 3,ODBC = 4};
/// <summary>
/// 打开并返回 OleDbConnection 联接
/// </summary>
/// <Info>
/// <作者>周方勇</作者>
/// <创建日期>2002-10-05</创建日期>
/// <修改日期>2003-04-15</修改日期>
/// <其它说明>无</其它说明>
/// </Info>
/// <Input>
/// <param name="DataBase">数据库类型enum DataBaseType{ACCESS97 = 0,ACCESS2KX = 1,SQLSERVER = 2,ORACLE = 3,ODBC = 4}</param>
/// <param name="StrDataSourceOrAccessPath">数据源。装有SqlServer数据库的计算机名/Oracel的Net8连接串/Access文件路径/ODBC数据源</param>
/// <param name="strDefaultDataBaseOrAccessDatabasePassword">SqlServer默认数据库/Access数据库的密码</param>
/// <param name="strUserID">用户名</param>
/// <param name="strPWD">密码</param>
/// </Input>
/// <Other>
/// 要独立运行,定义 public enum DataBaseType{ACCESS97 = 0,ACCESS2KX = 1,SQLSERVER = 2,ORACLE = 3,ODBC = 4};
/// </Other>
/// <returns>返回 OleDbConnection 联接</returns>
public System.Data.OleDb.OleDbConnection GetOleDbConnection(DataBaseType DataBase,string StrDataSourceOrAccessPath,string strDefaultDataBaseOrAccessDatabasePassword,string strUserID,string strPWD)
{
//定义连接字符串
string strConn="";
//定义OleDb数据库连接
System.Data.OleDb.OleDbConnection oleDbConn=new System.Data.OleDb.OleDbConnection();
switch (DataBase)
{
case DataBaseType.ACCESS97:
strConn = "Provider=Microsoft.Jet.OLEDB.3.51;" + "Password=" + strPWD + ";User ID=" + strUserID + ";Data Source=" + StrDataSourceOrAccessPath + ";Jet OLEDB:Database Password=" + strDefaultDataBaseOrAccessDatabasePassword;
break;
case DataBaseType.ACCESS2KX:
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Password=" + strPWD + ";User ID=" + strUserID + ";Data Source=" + StrDataSourceOrAccessPath + ";Jet OLEDB:Database Password=" + strDefaultDataBaseOrAccessDatabasePassword;
break;
case DataBaseType.SQLSERVER:
strConn = "Provider=SQLOLEDB.1;Password=" + strPWD + ";User ID=" + strUserID + ";Data Source=" + StrDataSourceOrAccessPath + ";Initial Catalog=" + strDefaultDataBaseOrAccessDatabasePassword + ";Persist Security Info=True";
break;
case DataBaseType.ORACLE:
strConn = "Provider=MSDAORA.1;Password=" + strPWD + ";User ID=" + strUserID + ";Data Source=" + StrDataSourceOrAccessPath + ";Persist Security Info=True";
break;
case DataBaseType.ODBC:
strConn = "DSN=" + StrDataSourceOrAccessPath + ";UID=" + strUserID + ";PWD=" + strPWD;
break;
//default:
}//结束switch
// '清空错误
// Err.Clear()
//打开数据库
try
{
oleDbConn.ConnectionString=strConn;
oleDbConn.Open();
}
catch(System.Exception ex)
{
System.Windows.Forms.MessageBox.Show("错误提示:数据库打开失败,请与管理员联系!" + "\n" + "详细信息:" + ex.Message.ToString(), "提示", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Warning);
oleDbConn=null; //对应VB的Nothing,null 关键字是表示不引用任何对象的空引用的文字值。null 是引用类型变量的默认值。
}
//返回
return oleDbConn;
}//GetOleDbConn()结束
#24
我记得原来我也遇到这样的事情,加了密码的access数据库通过代码是没打开的
#25
MARK
#26
如果mdb不在本地,但完全共享,应该用哪种方式打开,我直接用\\....的方式好像要报错
#27
这样可以的,但是要保证czc.mdb可以访问的到。
string Lkdatabase = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = c:\\test\\Webapplication1\\czc.mdb;Jet OLEDB:Database Password=tanhui;";
string Lkdatabase = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = c:\\test\\Webapplication1\\czc.mdb;Jet OLEDB:Database Password=tanhui;";
#28
呵呵`谢谢大家`特别感谢长江支流的技术支持`彻底帮我解决了问题
#1
高手们帮帮忙万分感谢
#2
...............................
#3
联接字符串中也写密码就可以了。
#4
我试了`不可以`我一直没找出原因`能给个实际的代码例子吗?
#5
string strConnection="Provider=Microsoft.Jet.OleDb.4.0;";
strConnection+=@"Data Source=C:\BegASPNET\Northwind.mdb;User ID=Admin;Jet OLEDB:New Database Password=;";
strConnection+=@"Data Source=C:\BegASPNET\Northwind.mdb;User ID=Admin;Jet OLEDB:New Database Password=;";
#6
谢谢`我马上去试`
#7
this.sqlConnection1.ConnectionString = "workstation id=XX;packet size=4096;user id=XX;integrated security=SSPI;data " +"source=XX;persist security info=False;initial catalog=XX";
#8
哪有你这样写的哟
你要写在配置文档里呀
你要写在配置文档里呀
#9
change your connection string as follows:
"Provider=Microsoft.Jet.OleDb.4.0;";
strConnection+=@"Data Source=C:\BegASPNET\Northwind.mdb;User ID=Admin;Jet OLEDB:password=yourpwd;";//replace "yourpwd"
"Provider=Microsoft.Jet.OleDb.4.0;";
strConnection+=@"Data Source=C:\BegASPNET\Northwind.mdb;User ID=Admin;Jet OLEDB:password=yourpwd;";//replace "yourpwd"
#10
"Provider=Microsoft.Jet.OleDb.4.0;Data Source=yourdbfile;User ID=Admin;Jet OLEDB:password=yourpwd;";//replace "yourdbfile" and "yourpwd"
#11
来晚了,实在没什么可写的了
#12
Provider=Microsoft.Jet.OleDb.4.0;Data Source=Access文件名;User ID=用户;Jet OLEDB:password=密码;
写到webconfig
写到webconfig
#13
各位`问题仍然没有解决`我增加了数据库密码后`照大家的方法做了`但是连接不成功`错误返回就是无法打开哪个个数据库``
#14
string Lkdatabase = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = czc.mdb;User ID=Admin;Jet OLEDB:Password=tanhui";
OleDbConnection dataconn = new OleDbConnection();
dataconn.ConnectionString = Lkdatabase;
dataconn.Open();
OleDbDataAdapter chez = new OleDbDataAdapter("SELECT * FROM 车主信息表",dataconn); //查找车主信息表
OleDbDataAdapter shezhR = new OleDbDataAdapter("SELECT * FROM 日间模式收费表",dataconn); //查找日间收费模式信息表
OleDbDataAdapter shezhY = new OleDbDataAdapter("SELECT * FROM 夜间模式收费表",dataconn); //查找夜间收费模式信息表
OleDbConnection dataconn = new OleDbConnection();
dataconn.ConnectionString = Lkdatabase;
dataconn.Open();
OleDbDataAdapter chez = new OleDbDataAdapter("SELECT * FROM 车主信息表",dataconn); //查找车主信息表
OleDbDataAdapter shezhR = new OleDbDataAdapter("SELECT * FROM 日间模式收费表",dataconn); //查找日间收费模式信息表
OleDbDataAdapter shezhY = new OleDbDataAdapter("SELECT * FROM 夜间模式收费表",dataconn); //查找夜间收费模式信息表
#15
代码运行到``:::::::::`OleDbDataAdapter chez = new OleDbDataAdapter("SELECT * FROM 车主信息表",dataconn); //查找车主信息表
终止`
终止`
#16
数据库文件加上路径试试。
#17
试了`不行``
#18
"Provider=Microsoft.JET.OLEDB.4.0;data source=aa.mdb;user id=Admin;Jet OLEDB:Database Password=××;"
还有检查你数据库路径
还有检查你数据库路径
#19
我用oleDbDataAdapter 来自动生成数据集 也不行`在连接里测试的时候`如果没有密码测试连接成功
有密码并填上密码测试连接失败`显示错误消息:"测试连接失败:因为初始化提供程序时发生错误.工作组信息文件丢失,或是已被其它用户以独占方式打开."
我没用用独占方式打开`如果工作组信息文件丢失`空密码为什么可以成功连接?大家帮帮解决下`谢谢
有密码并填上密码测试连接失败`显示错误消息:"测试连接失败:因为初始化提供程序时发生错误.工作组信息文件丢失,或是已被其它用户以独占方式打开."
我没用用独占方式打开`如果工作组信息文件丢失`空密码为什么可以成功连接?大家帮帮解决下`谢谢
#20
路径绝对没错`我只要把密码设置为空`就可以连接并操作数据库了```问题就在这里``加了密码`它死活都不认`为了这个我问遍了学校很多老师``都没有找到方法```
#21
大家帮帮忙`谢谢
#22
用户有一个密码,数据库有一个密码,楼上只要区分了这一点就没问题了
#23
/// <summary>
/// 公有枚举成员-----数据库类型
/// </summary>
public enum DataBaseType{ACCESS97 = 0,ACCESS2KX = 1,SQLSERVER = 2,ORACLE = 3,ODBC = 4};
/// <summary>
/// 打开并返回 OleDbConnection 联接
/// </summary>
/// <Info>
/// <作者>周方勇</作者>
/// <创建日期>2002-10-05</创建日期>
/// <修改日期>2003-04-15</修改日期>
/// <其它说明>无</其它说明>
/// </Info>
/// <Input>
/// <param name="DataBase">数据库类型enum DataBaseType{ACCESS97 = 0,ACCESS2KX = 1,SQLSERVER = 2,ORACLE = 3,ODBC = 4}</param>
/// <param name="StrDataSourceOrAccessPath">数据源。装有SqlServer数据库的计算机名/Oracel的Net8连接串/Access文件路径/ODBC数据源</param>
/// <param name="strDefaultDataBaseOrAccessDatabasePassword">SqlServer默认数据库/Access数据库的密码</param>
/// <param name="strUserID">用户名</param>
/// <param name="strPWD">密码</param>
/// </Input>
/// <Other>
/// 要独立运行,定义 public enum DataBaseType{ACCESS97 = 0,ACCESS2KX = 1,SQLSERVER = 2,ORACLE = 3,ODBC = 4};
/// </Other>
/// <returns>返回 OleDbConnection 联接</returns>
public System.Data.OleDb.OleDbConnection GetOleDbConnection(DataBaseType DataBase,string StrDataSourceOrAccessPath,string strDefaultDataBaseOrAccessDatabasePassword,string strUserID,string strPWD)
{
//定义连接字符串
string strConn="";
//定义OleDb数据库连接
System.Data.OleDb.OleDbConnection oleDbConn=new System.Data.OleDb.OleDbConnection();
switch (DataBase)
{
case DataBaseType.ACCESS97:
strConn = "Provider=Microsoft.Jet.OLEDB.3.51;" + "Password=" + strPWD + ";User ID=" + strUserID + ";Data Source=" + StrDataSourceOrAccessPath + ";Jet OLEDB:Database Password=" + strDefaultDataBaseOrAccessDatabasePassword;
break;
case DataBaseType.ACCESS2KX:
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Password=" + strPWD + ";User ID=" + strUserID + ";Data Source=" + StrDataSourceOrAccessPath + ";Jet OLEDB:Database Password=" + strDefaultDataBaseOrAccessDatabasePassword;
break;
case DataBaseType.SQLSERVER:
strConn = "Provider=SQLOLEDB.1;Password=" + strPWD + ";User ID=" + strUserID + ";Data Source=" + StrDataSourceOrAccessPath + ";Initial Catalog=" + strDefaultDataBaseOrAccessDatabasePassword + ";Persist Security Info=True";
break;
case DataBaseType.ORACLE:
strConn = "Provider=MSDAORA.1;Password=" + strPWD + ";User ID=" + strUserID + ";Data Source=" + StrDataSourceOrAccessPath + ";Persist Security Info=True";
break;
case DataBaseType.ODBC:
strConn = "DSN=" + StrDataSourceOrAccessPath + ";UID=" + strUserID + ";PWD=" + strPWD;
break;
//default:
}//结束switch
// '清空错误
// Err.Clear()
//打开数据库
try
{
oleDbConn.ConnectionString=strConn;
oleDbConn.Open();
}
catch(System.Exception ex)
{
System.Windows.Forms.MessageBox.Show("错误提示:数据库打开失败,请与管理员联系!" + "\n" + "详细信息:" + ex.Message.ToString(), "提示", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Warning);
oleDbConn=null; //对应VB的Nothing,null 关键字是表示不引用任何对象的空引用的文字值。null 是引用类型变量的默认值。
}
//返回
return oleDbConn;
}//GetOleDbConn()结束
/// 公有枚举成员-----数据库类型
/// </summary>
public enum DataBaseType{ACCESS97 = 0,ACCESS2KX = 1,SQLSERVER = 2,ORACLE = 3,ODBC = 4};
/// <summary>
/// 打开并返回 OleDbConnection 联接
/// </summary>
/// <Info>
/// <作者>周方勇</作者>
/// <创建日期>2002-10-05</创建日期>
/// <修改日期>2003-04-15</修改日期>
/// <其它说明>无</其它说明>
/// </Info>
/// <Input>
/// <param name="DataBase">数据库类型enum DataBaseType{ACCESS97 = 0,ACCESS2KX = 1,SQLSERVER = 2,ORACLE = 3,ODBC = 4}</param>
/// <param name="StrDataSourceOrAccessPath">数据源。装有SqlServer数据库的计算机名/Oracel的Net8连接串/Access文件路径/ODBC数据源</param>
/// <param name="strDefaultDataBaseOrAccessDatabasePassword">SqlServer默认数据库/Access数据库的密码</param>
/// <param name="strUserID">用户名</param>
/// <param name="strPWD">密码</param>
/// </Input>
/// <Other>
/// 要独立运行,定义 public enum DataBaseType{ACCESS97 = 0,ACCESS2KX = 1,SQLSERVER = 2,ORACLE = 3,ODBC = 4};
/// </Other>
/// <returns>返回 OleDbConnection 联接</returns>
public System.Data.OleDb.OleDbConnection GetOleDbConnection(DataBaseType DataBase,string StrDataSourceOrAccessPath,string strDefaultDataBaseOrAccessDatabasePassword,string strUserID,string strPWD)
{
//定义连接字符串
string strConn="";
//定义OleDb数据库连接
System.Data.OleDb.OleDbConnection oleDbConn=new System.Data.OleDb.OleDbConnection();
switch (DataBase)
{
case DataBaseType.ACCESS97:
strConn = "Provider=Microsoft.Jet.OLEDB.3.51;" + "Password=" + strPWD + ";User ID=" + strUserID + ";Data Source=" + StrDataSourceOrAccessPath + ";Jet OLEDB:Database Password=" + strDefaultDataBaseOrAccessDatabasePassword;
break;
case DataBaseType.ACCESS2KX:
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Password=" + strPWD + ";User ID=" + strUserID + ";Data Source=" + StrDataSourceOrAccessPath + ";Jet OLEDB:Database Password=" + strDefaultDataBaseOrAccessDatabasePassword;
break;
case DataBaseType.SQLSERVER:
strConn = "Provider=SQLOLEDB.1;Password=" + strPWD + ";User ID=" + strUserID + ";Data Source=" + StrDataSourceOrAccessPath + ";Initial Catalog=" + strDefaultDataBaseOrAccessDatabasePassword + ";Persist Security Info=True";
break;
case DataBaseType.ORACLE:
strConn = "Provider=MSDAORA.1;Password=" + strPWD + ";User ID=" + strUserID + ";Data Source=" + StrDataSourceOrAccessPath + ";Persist Security Info=True";
break;
case DataBaseType.ODBC:
strConn = "DSN=" + StrDataSourceOrAccessPath + ";UID=" + strUserID + ";PWD=" + strPWD;
break;
//default:
}//结束switch
// '清空错误
// Err.Clear()
//打开数据库
try
{
oleDbConn.ConnectionString=strConn;
oleDbConn.Open();
}
catch(System.Exception ex)
{
System.Windows.Forms.MessageBox.Show("错误提示:数据库打开失败,请与管理员联系!" + "\n" + "详细信息:" + ex.Message.ToString(), "提示", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Warning);
oleDbConn=null; //对应VB的Nothing,null 关键字是表示不引用任何对象的空引用的文字值。null 是引用类型变量的默认值。
}
//返回
return oleDbConn;
}//GetOleDbConn()结束
#24
我记得原来我也遇到这样的事情,加了密码的access数据库通过代码是没打开的
#25
MARK
#26
如果mdb不在本地,但完全共享,应该用哪种方式打开,我直接用\\....的方式好像要报错
#27
这样可以的,但是要保证czc.mdb可以访问的到。
string Lkdatabase = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = c:\\test\\Webapplication1\\czc.mdb;Jet OLEDB:Database Password=tanhui;";
string Lkdatabase = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = c:\\test\\Webapplication1\\czc.mdb;Jet OLEDB:Database Password=tanhui;";
#28
呵呵`谢谢大家`特别感谢长江支流的技术支持`彻底帮我解决了问题