c# - .Net C# 如何连接到外部 SQL Server 数据库? OleDb 还是其他?

标签 c# .net sql database oledb

您好,我想知道如何在 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/

相关文章:

php - 在表中输入高级 SQL 查询 - 不是唯一的表别名 mysql

C# 异步调用垃圾回收

c# - C# asp.net性能实践中使用static automapper

c# - 当运行线程 A 的对象被线程 B 销毁时会发生什么?

c# - 如何检测UDP数据包丢失? (C#)

.net - 检查已编译的dll是否已更改?

c# - 在完成后长时间保留 Task 对象有什么缺点吗?

sql - 如何在数据库中的所有 varchar 和 nvarchar 字段之间转换换行符(将\r\n 替换为\n)

mysql - 选择天数小于给定阈值的行

c# - 如何仅根据键从 List<KeyValuePair<string, string>> 中删除条目?