.Net C#如何连接到外部SQL Server数据库? OleDb或其他?
问题描述:
嗨我想知道我应该如何连接到C#,.NET中的外部SQL Server数据库?.Net C#如何连接到外部SQL Server数据库? OleDb或其他?
例如,如果我有没有参数:
SQL信息
- 的网址,获取数据库(整个浏览器也):Sqlweb.companyname.com
- 数据库用户名:用户名
- Server:Dcms-xxx
- Databasename:databaseName
- Databasepassword:password
?
我知道如何连接到内部: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服务器(sqlweb.companyname.com)的网址)?谢谢你的帮助 ! -
答
我会添加一个connectionString到我的app/web.config。
<connectionStrings>
<add name="AspnetdbConnectionString"
connectionString="Data Source=<databaseadress>;Initial Catalog=<database>;User Id=<user>;Password=password>"
providerName="System.Data.SqlClient"
/>
</connectionStrings>
上面的例子是你如何指定一个MSSQL连接的ConnectionString的,和下面的方式来使用这个的ConnectionString。
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
}
}
}
}
非常感谢你会尝试现在:);)数据库地址女巫使用?服务器(即Dcms-xxx)或sql服务器的网址(sqlweb.companyname.com) – Vilius
取决于它是否在本地网络上。如果没有使用完整的地址(sqlweb.companyname.com)。 – tskulbru
这样服务器(即Dcms-xxx)连接时根本不使用?它不在本地网络上(我认为:)) – Vilius