您好,我想知道如何在 C#、.NET 中连接到外部 SQL Server 数据库?
例如,如果我有参数:
SQL 信息
- 获取数据库的 URL(也包括整个浏览器):Sqlweb.companyname.com
- 数据库用户名:用户名
- 服务器:Dcms-xxx
- 数据库名称:数据库名称
- 数据库密码:密码
?
我知道如何连接到内部:Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+ System.AppDomain.CurrentDomain.BaseDirectory + "..\\Files\\MapPlaces\\Database。 mdb;";
但是外部呢?
我试过了:
string nowConString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Sqlweb.companyname.com;Initial Catalog = databaseName; User Id = Username; Password = Password;";
System.Data.OleDb.OleDbConnection dbcon = new System.Data.OleDb.OleDbConnection(nowConString);
string sql = "SELECT * FROM XXXTable";
dbcon.Open();
System.Data.OleDb.OleDbCommand cmd = new System.Data.OleDb.OleDbCommand(sql, dbcon);
System.Data.OleDb.OleDbDataReader reader;
reader = cmd.ExecuteReader();
ScriptStuff.Append("Reader created!<br/>");
while (reader.Read())
{
string companyName = reader.GetValue(1).ToString();
ScriptStuff.Append(companyName+"<br/>");
}
没用!感谢您的帮助!
根据评论编辑:
是的,那是我的错误,谢谢。因为第一个是访问,是的,第二个是 SQL Server。它是 SQL Server 2005。但我是 .net 的新手......我在 connectionstring.com
中找到了第一个和第二个,但我找不到或不明白如何使用对于这个……
你能帮忙吗,只需将孔连接后即可?谢谢 – Vilius 7 分钟前
我的意思是我还需要使用 OleDB 吗?应该有“Provider=Microsoft.Jet.OLEDB.4.0;”在该连接字符串中?我在哪里发布什么(服务器(那个 Dcms-xxx),或者 sql 服务器的 url(sqlweb.companyname.com))?感谢您的帮助 ! –
最佳答案
我会在我的 app/web.config 中添加一个 connectionString。
<connectionStrings>
<add name="AspnetdbConnectionString"
connectionString="Data Source=<databaseadress>;Initial Catalog=<database>;User Id=<user>;Password=password>"
providerName="System.Data.SqlClient"
/>
</connectionStrings>
上面的示例是如何为 MSSQL 连接指定连接字符串,下面是使用此连接字符串的方法。
using (SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings["AspnetdbconnectionString"].ConnectionString))
{
cn.Open();
using (SqlCommand cm = cn.CreateCommand())
{
cm.CommandType = CommandType.Text;
cm.CommandText = "SELECT * FROM ...";
using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader()))
{
while (dr.Read())
{
// do stuff
}
}
}
}
关于c# - .Net C# 如何连接到外部 SQL Server 数据库? OleDb 还是其他?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7267997/