是否有方法或编译器指令或某种方式来确保某些组件(例如查询或数据库连接)在运行构建/编译时设置为 active=false 或断开连接?这些似乎经常被其他东西打开,直到为时已晚你才注意到它。
我的特定安装是 Delphi 7
我似乎看不出问题出在我的连接字符串中,字符串中有 " 我什至尝试按照 stackoverflow 上的建议添加单引号,但它似乎仍然没有做任何事情。
以下是我的连接字符串,出于安全原因,取出并重命名了实际信息;
<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=IP ADDRESS;Initial Catalog=DB NAME;integrated security=False;Persist Security Info=True;User ID=USERID;Password=PASSWORD" providerName="System.Data.SqlClient" />
<add name="ENTITYNAME" connectionString="metadata=res://*/ModelName.csdl|res://*/ModelName.ssdl|res://*/ModelName.msl;provider=System.Data.SqlClient;provider connection string=IPADDRESS"Data Source=IP ADDRESS;initial catalog=DB NAME;integrated security=False;MultipleActiveResultSets=True;App=EntityFramework;User ID=USERNAME;Password=PASSWORD"" providerName="System.Data.EntityClient" />
</connectionStrings>
Run Code Online (Sandbox Code Playgroud) c# connection-string database-connection datasource web-config
首先:我在不使用oop的情况下运行代码.我在同一个类中声明了所有变量,并在将查询传递给db之前和之后打开/关闭了连接.那很有效!现在有了一些新的经验,我试图将我的代码分成不同的类.现在它不再工作了.
它告诉我"连接必须有效且开放".足够的文字,这是我目前的代码:
Services.cs
public static MySqlConnection conn // Returns the connection itself
{
get
{
MySqlConnection conn = new MySqlConnection(Services.ServerConnection);
return conn;
}
}
public static string ServerConnection // Returns the connectin-string
{
get
{
return String.Format("Server={0};Port=XXXX;Database=xxx;Uid=xxx;password=xxXxxXxXxxXxxXX;", key);
}
}
public static void DB_Select(string s, params List<string>[] lists)
{
try
{
MySqlCommand cmd = conn.CreateCommand();
cmd.CommandType = CommandType.Text;
string command = s;
cmd.CommandText = command;
MySqlDataReader sqlreader = cmd.ExecuteReader();
while (sqlreader.Read())
{
if (sqlreader[0].ToString().Length > 0)
{
for (int i …Run Code Online (Sandbox Code Playgroud) 您能告诉我们是否有办法在不安装任何数据库驱动程序的情况下从PowerShell连接到Postgres SQL数据库?我正在寻找能够仅使用.NET数据库功能进行连接的解决方案.谢谢.
马修
Cassandra 使用的连接 URL 是什么?
jdbc:cassandra:root/root@:/
我们在SqlConnection.Open()上获得Timeout过期异常.
以下是代码:
public int ExecuteNonQuery(SqlParameter[] param, string strSPName)
{
using (SqlConnection conn = new SqlConnection(_connStr))
{
int i = 0;
using (SqlCommand cmd = new SqlCommand(strSPName, conn))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddRange(param);
conn.Open();
i = cmd.ExecuteNonQuery();
}
return i;
}
}
Run Code Online (Sandbox Code Playgroud)
语句中的return关键字是否using会打开连接,从而导致此问题?
c# ado.net database-connection sqlconnection timeoutexception
我有一个 Perl 脚本,它使用不同的连接驱动程序连接到许多数据库。
如果有任何活动会话,有什么办法可以最终编写一个断开连接函数来断开连接吗?
例子 :
connection 1: $dbh->oracle;
connection 2: $dbh->sql
Run Code Online (Sandbox Code Playgroud)
我可以为两个数据库设置一个通用的断开连接字符串吗?
我已经检查了有关此事的其他主题并尝试了一些标准解决方案,但似乎没有任何效果。我的数据库是本地的,我正在尝试连接,它已经创建并保存在名为 localDB.mdf 的文件夹 Helpers 中我的代码是:
public static List<ChatMessages> GetFromDatabase(string query)
{
List<ChatMessages> ImportedFiles = new List<ChatMessages>();
string sql = @"Data Source=|DataDirectory|\Helpers\localDB;AttachDbFilename=\Helpers\localDB.mdf;Integrated Security=True";
SqlConnection connection = new SqlConnection(sql);
try
{
connection.Open();
var check = connection.State;
SqlCommand cmd = new SqlCommand(query, connection);
var rdr = cmd.ExecuteReader();
while (rdr.Read())
{
//stuff
}
connection.Close();
}
catch (Exception e) { MessageBox.Show("error: " + e); }
var x = ImportedFiles;
return ImportedFiles;
}
Run Code Online (Sandbox Code Playgroud)
感谢您的时间,最好的问候
我想知道这可能是打开一个最好的方法SqlConnection与Sql Server 2008R2 Express Edition数据库.此版本的Sql具有RAM使用率和CPU使用率的限制,因此我们必须采用最佳方法来打开SqlConnection.
现在我正在检查每个方法的开始和结束时的连接.这是一个例子.
private void CheckValidId(string Id)
{
CheckConnectionStatus();
try
{
sqlConnection.Open();
sqlCommand = new SqlCommand("select * from ValidId where id=@id", sqlConnection);
sqlCommand.Parameters.AddWithValue("@id", Id);
sqlDataReader = sqlCommand.ExecuteReader();
While (sqlDataReader.Read())
{
string Test = sqlDataReader["Id"].toString();
MessageBox.Show("Value of Id : " , Test);
}
}
catch (Exception exp)
{
MessageBox.Show(exp.Message.ToString(), "Exception in CheckValidId");
}
finally
{
CheckConnectionStatus();
}
}
Run Code Online (Sandbox Code Playgroud)
这是CheckConnectionStatus方法
private void CheckConnectionStatus()
{
if (sqlConnection.State == ConnectionState.Open)
{
sqlConnection.Close();
} …Run Code Online (Sandbox Code Playgroud) c# sql-server database-connection sql-server-2008-r2 sql-server-2008r2-express
当我尝试连接 Windows 身份验证或 SQL Server 身份验证时,我从 SQL Server Management Studio 收到错误 18456,如下图所示。
我想在此链接中实施解决方案:登录 Microsoft SQL Server 错误:18456但我无论如何都无法启动引擎。另外,我不知道我的 SQL Server 身份验证密码。
我能做什么?
c# ×5
connection ×2
sql-server ×2
ado.net ×1
cassandra ×1
database ×1
datasource ×1
dbi ×1
delphi ×1
delphi-7 ×1
disconnect ×1
error-code ×1
mysql ×1
perl ×1
postgresql ×1
powershell ×1
sql ×1
ssms ×1
vcl ×1
web-config ×1