其实我开发一个Windows窗体使用Visual C#速成2010年的数据从SQL Server 2008 Express的DBC#2010速成+ SQL Server 2008 Express的 - 连接 “登录失败”
应用程序,它会使用(读/写)我创建了我的数据库与SQL Server Management Studio中(2008年快递), 我明白实例被命名为ATLELAG786576\SQLEXPRESS
我的数据库被称为“TEST”
看着我的数据库“TEST”属性在SQL Server Management Studio中(2008年快递): 在文件下,我是(ATLE\bneveux
)DB的拥有者
安全,登录Mylogin(ATLE \ bneveux)
- 我的默认数据库是 'TEST' 下寻找
- 服务器角色是 '公' + '系统管理员'
- 用户映射DB 'TEST'用户 'DBO' 默认模式 'DBO'
在我的C#应用程序
的app.config:
个<?xml version="1.0" encoding="utf-8" ?> <configuration>
<configSections>
</configSections>
<connectionStrings>
<add name="connectionStringTestDb"
connectionString="Data Source=ATLELAG786576\SQLEXPRESS;Initial Catalog=D:\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA\TEST.mdf;Integrated Security=True;Connect Timeout=30;User Instance=False"
providerName="System.Data.SqlClient" />
</connectionStrings> </configuration>
dbConnection.cs:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
namespace SQLServerConnectionDemo
{
class dbConnection
{
public static SqlConnection newCon;
public static string connectionStringTestDb = ConfigurationManager.ConnectionStrings["connectionStringTestDb"].ConnectionString;
public static SqlConnection GetConnection()
{
newCon = new SqlConnection(connectionStringTestDb);
return newCon;
}
}
}
dbAccess.cs:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
namespace SQLServerConnectionDemo
{
class dbAccess
{
SqlConnection conn;
public dbAccess()
{
conn = dbConnection.GetConnection();
}
//Method insert new in tblEmployees
public void addEmployee(string Id, string Name, string Email)
{
if (conn.State.ToString() == "Closed")
{
conn.Open();
}
SqlCommand newCmd = conn.CreateCommand();
newCmd.Connection = conn;
newCmd.CommandType = CommandType.Text;
newCmd.CommandText = "INSERT INTO tblEmployees VALUES ('"+ Id +"','"+ Name +"','"+ Email +"')";
newCmd.ExecuteNonQuery();
}
}
}
的形式formEmployeeAdd.cs:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace SQLServerConnectionDemo
{
public partial class formEmployeeAdd : Form
{
dbAccess access = new dbAccess();
public formEmployeeAdd()
{
InitializeComponent();
}
private void btnInsert_Click(object sender, EventArgs e)
{
access.addEmployee(txtId.Text, txtName.Text, txtEmail.Text);
MessageBox.Show("Data successfully added");
}
}
}
而且这里的错误信息尝试运行这个过程时,我总是得到:
System.Data.SqlClient.SqlException(0x80131904):无法打开数据库“d:\ Microsoft SQL Server的\ MSSQL10.SQLEXPRESS \ MSSQL \ DATA \ TEST.mdf“。登录失败。 用户'ATLE \ bneveux'登录失败。
注意,我从来没有真正能够从VS加我的数据源在Visual C#2010 Express,以使我可以管理数据库,我总是得到以下错误消息:
无法打开物理文件“D:\ Microsoft SQL Server \ MSSQL10.SQLEXPRESS \ MSSQL \ DATA \ TEST.mdf”。操作系统错误32:“32(Le processus ne peut pasaccéderau fichier car ce fichier estutilisépar par un autre processus。)”。 尝试附加文件D:\ Microsoft SQL Server \ MSSQL10.SQLEXPRESS \ MSSQL \ DATA \ TEST.mdf的自动命名数据库失败。具有相同名称的数据库存在,或指定的文件无法打开,或位于UNC共享上。
jeroenh嗨更换
,只是想你的命题,它的工作和解决我的问题!感谢您的快速答复! (我该如何标记此答案成功?) – Brice
很好用。这个问题应该留下一个“接受”的标记。您也可以使用向上箭头向上投票。 – jeroenh
jeroenh, 我可以滥用并询问您如何解决使用Visual C#2010 Express浏览/管理数据库的可能性; 当我去 数据源>新建>数据库>数据集>新连接 我选择“数据源”Microsoft SQL Server文件...(抱歉如果翻译不正确我用法语版) 然后浏览到我的TEST.mdf文件 当我点击“测试连接”时,我现在收到以下错误消息“无法打开用户默认数据库,登录失败,用户'ATLE \ bneveux'登录失败。” 谢谢! Brice – Brice