场景:使用默认设置和连接端口 (1433) 的 SQL Server 2014 Developer,使用 Entity Framework 6 的 C#。
在我的 C# 应用程序中使用带有 EF6 的 SQL Server,以下连接字符串非常有用:
Data Source=localhost;Initial Catalog =...
Run Code Online (Sandbox Code Playgroud)
但是这个连接字符串失败了:
Data Source=localhost,1433;Initial Catalog =...
Run Code Online (Sandbox Code Playgroud)
是的,这是正确的端口。
通过查看 SQL Server 的配置,我找到了一个通过激活 TCP/IP 协议的解决方案,但是,由于它是默认端口,它不是应该像其他没有该端口的连接字符串一样工作吗?即使 TCP/IP 已停用(这是默认设置)?
谢谢!
我正在尝试设置一种方法,该方法将尝试首先在默认端口(1433)上连接到 SQL Server,然后在失败时在其他端口(例如 7777)上连接。
我想避免重建连接字符串并在失败时尝试再次连接,因为此方法将按照配置的时间间隔执行,并且我希望消除尽可能多的开销。
我尝试了以下方法(由ConnectionStrings提供)
public void EstablishConnection()
{
string ConnectionString = "Data Source=127.0.0.1; Failover Partner=127.0.0.1,7777; Initial Catalog=foo;Connection Timeout = 3; Persist Security Info =True;User ID=<id>;Password=<password>";
try
{
SqlConnection Connection = new SqlConnection(ConnectionString);
Connection.Open();
}
catch (SqlException)
{
// Connection failed
}
}
Run Code Online (Sandbox Code Playgroud)
但根据这篇文章我的测试,它并没有按照我的预期方式工作。
我可以通过执行以下操作轻松解决此问题:
public void EstablishConnection()
{
string ConnectionString = "Data Source=127.0.0.1;Initial Catalog=foo;Connection Timeout = 3; Persist Security Info =True;User ID=<id>;Password=<password>";
try
{
SqlConnection Connection = new SqlConnection(ConnectionString);
Connection.Open();
}
catch (SqlException)
{ …Run Code Online (Sandbox Code Playgroud) 我研究了一段时间,但没有找到解决这个特定问题的任何内容:
我正在尝试在 AWS Glue 中与命名实例 SQL Server(本地)创建连接
我尝试了很多连接字符串格式的变体,但没有一个有效。例如:
jdbc:sqlserver://HOST\INSTANCE_NAME;databaseName=DB_NAME- AWS 控制台不允许我保存,因为它没有端口 (:port)jdbc:sqlserver://HOST\INSTANCE_NAME:1433;databaseName=DB_NAME- AWS 控制台允许我保存,但无法连接,因为它转义了反斜杠后面的所有内容jdbc:sqlserver://HOST\\INSTANCE_NAME:1433;databaseName=DB_NAME- 使用两个反斜杠解决了之前的问题,但现在AWS认为该端口是实例名称的一部分,因此无法连接jdbc:sqlserver://;instanceName=INSTANCE_NAME;serverName=HOST:PORT;databaseName=DB_NAME- 我真的认为这会起作用,因为AWS认识到我正在尝试连接到命名实例,但它不理解主机:端口(它认为它是IPV6地址)我尝试了更多的变化,但你明白了。
我相信这是关于 AWS Glue 如何在内部分解连接字符串的一个特殊问题
非常感谢任何关于查找 AWS Glue 理解的工作连接字符串(带有命名实例)的帮助。
我正在尝试从我的c#codefile访问Access数据库.如果我使用:
SqlConnection连接=新的SqlConnection(connectionString)
连接字符串是:
connectionString ="Provider = Microsoft.Jet.OLEDB.4.0; Data Source = F:\ testing_dev\sm_development\App_Data\SMWeb.mdb"
当我尝试创建一个不支持"提供者"一词的数据集时,我收到错误!我究竟做错了什么?
我给了上面的字符串,我想从该字符串中获取serveripaddress,DB1,uid和****这些值.
我必须从foxpro数据库中提取一些数据.我找到了一个示例应用程序,它从sql server db中提取数据,并以下列格式将连接字符串存储在app.config文件中 -
<connectionStrings>
<add name="test"
connectionString="Data Source=localhost\SQLExpress;Initial Catalog=test;Integrated Security=SSPI;Timeout=300;"
providerName="System.Data.SqlClient.SqlConnection, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)
我想在foxpro中做同样的事情,但我不知道为配置的providerName部分放什么.我可以得到连接字符串就好了.有没有人知道视觉foxpro的提供商名称是什么?
谢谢
我正在尝试使用以下代码使用ADO net连接Access 2007"accdb"文件,但我收到错误Unrecognized Database format,可能的原因是什么?
OleDbConnection conn = new
OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;
Data Source=C:/MyWorkers.accdb");
try
{
conn.Open();
MessageBox.Show("Connected");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
Run Code Online (Sandbox Code Playgroud) 我在oracle中创建了一个连接字符串,如:
Data Source=hostname;Initial Catalog=IMPORT_UTILITY;User ID=abc;password=123
Run Code Online (Sandbox Code Playgroud)
我想为oracle做同样的事情.我正在使用ODBC.
任何人都可以告诉我什么是oracle的连接字符串将使用odbc等同于上面的sql连接字符串?
我一直在尝试连接数据库,但它显示'null'错误.所以,我尝试打开我练习的上一个表格,结果证明是完美的.
这是我的代码:
string username = txtusername.Text;
string firstname = txtfirstname.Text;
string lastname = txtlastname.Text;
string email = txtemail.Text;
string password = txtpass.Text;
string gender = rbgender.Text;
string nationality = dcountry.Text;
string phone = txtphone.Text;
string connection = ConfigurationManager.ConnectionStrings["connectionString"].ConnectionString;
SqlConnection connect = new SqlConnection(connection);
string command = "INSERT INTO Persons(username, firstname, lastname, email, password, gender, nationality, phone) VALUES('@username','@firstname','@lastname','@email','@password','@gender','@nationality','@phone')";
SqlCommand insert = new SqlCommand(command +","+ connection);
insert.Parameters.AddWithValue("@username", username);
insert.Parameters.AddWithValue("@firstname", firstname);
insert.Parameters.AddWithValue("@lastname", lastname);
insert.Parameters.AddWithValue("@email", email);
insert.Parameters.AddWithValue("@password", password);
insert.Parameters.AddWithValue("@gender", gender);
insert.Parameters.AddWithValue("@nationality", nationality);
insert.Parameters.AddWithValue("@phone", phone); …Run Code Online (Sandbox Code Playgroud) 我想在数据库中保存checkboxlist数据.我在SQL中创建了一个名为'tblSubject'的表,并在web.config中创建了connectionstring.但是我仍然得到了erorr:
未设置为对象实例的用户代码对象引用未处理NullReferenceException .
这是c#中的代码:
private void PopulateSubjects()
{
using (SqlConnection conn = new SqlConnection())
{
conn.ConnectionString = ConfigurationManager
.ConnectionStrings["constr"].ConnectionString;
using (SqlCommand cmd = new SqlCommand())
{
cmd.CommandText = "select * from subjects";
cmd.Connection = conn;
conn.Open();
using (SqlDataReader sdr = cmd.ExecuteReader())
{
while (sdr.Read())
{
ListItem item = new ListItem();
item.Text = sdr["Subject"].ToString();
item.Value = sdr["Id"].ToString();
item.Selected = Convert.ToBoolean(sdr["IsSelected"]);
chbox.Items.Add(item);
}
}
conn.Close();
}
}
}
protected void Button1_Click(object sender, EventArgs e)
{
using (SqlConnection conn = new SqlConnection())
{ …Run Code Online (Sandbox Code Playgroud)