关于PHP中的Singletons的讨论让我越来越多地思考这个问题.大多数人都指示你不应该在一个请求中建立一堆数据库连接,而我只是好奇你的推理是什么.我的第一个想法是你的脚本向DB提出了很多请求的费用,但后来我反驳了这个问题:多个连接会不会使并发查询更有效率?
一些知情人士的答案(有证据,伙计)怎么样?
假设我们在支持JDBC连接池的应用服务器上安装了Web应用程序或Web服务.
我应该Connection在每个线程或每个查询的基础上获取新内容吗?
谢谢!
java web-services database-connection jdbc application-server
我已经完成了一些教程.
他们说通过finally块关闭数据库连接.
但我心里有一个问题:
想想两个线程正在主动读取一个连接并且一个线程完成其工作并关闭连接的场景.那么另一个会发生什么?
第二个线程能够完成他的任务吗?
如果我的问题无效,请告诉我,请告诉我最佳解决方案.
我正在开发完全重新开发的网站和销售系统,并且很快就遇到了这个Max_connections问题.
我发布了这个问题: 关闭/汇集MySQL ODBC连接 最近,但是已经尝试了一些其他的东西,仍然空白,但有更多细节提供...
我有一个非常复杂的销售流程,在创建发票时,我似乎每次都要运行7个"流程".我已经计算了在创建发票过程中使用数据连接的次数,它取决于几个条件值,它是7-9,所以数据连接实际上根本没有关闭.
为了加快编码速度,我已经制作了几个处理数据库连接的函数,所以我将在下面发布.
首先,我的连接字符串是:
"DRIVER={MySQL ODBC 3.51 Driver}; SERVER=mysql.dc-servers.com; DATABASE=jamieha_admin; UID=USERID; PASSWORD=pWD; OPTION=3;pooled=true;Max Pool Size=100"
Run Code Online (Sandbox Code Playgroud)
我用来打开和关闭数据库的功能如下:
Function connectionString(sql As String, closeConnection As String) As OdbcConnection
Dim DBConnection As String = ConfigurationManager.ConnectionStrings("dbConnNew").ConnectionString
'this is getting the connection string from web.config file.
Dim oConnection As OdbcConnection = New OdbcConnection(DBConnection) 'call data connection
connectionString = New OdbcConnection(DBConnection)
If closeConnection <> "close" Then _
connectionString.Open() ' open data connection
End Function
Run Code Online (Sandbox Code Playgroud)
这个函数给了我一个OdbcConnection连接字符串对象,然后我可以使用它:
Function openDatabase(sql As String) As OdbcCommand
openDatabase = …Run Code Online (Sandbox Code Playgroud) 背景:使用unix,来自localhost的codeigniter.
我想通过命令行(CLI)运行控制器.因此,我正在遵循此CodeIgniter教程 ,该示例工作正常.
但是,当我将它与需要连接到数据库的函数一起使用时,它会在命令行中出现以下错误.
Unable to connect to your database server using the provided settings.
Filename: core/Loader.php
Line Number: 347
Run Code Online (Sandbox Code Playgroud)
奇怪的是当我通过URL访问相同的功能时它起作用.怎么可能?
注意:我假装在命令行中引入的函数是更新数据库(它不打印任何东西).
编辑: 我越来越近了.我已将主机名从"localhost"更改为"127.0.0.1"并且可以正常工作.为什么?
database database-connection codeigniter command-line-interface
我现在正在学习Django,并且正在逐步关注Django的书.
当我继续第5章将我的Django项目连接到我的数据库时,我无法连接它.我收到错误:
FATAL: password authentication failed for user "postgres"
Run Code Online (Sandbox Code Playgroud)
这是代码:
settings.py 组态:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
'NAME': 'postgis', # Or path to database file if using sqlite3.
'USER': 'postgres', # Not used with sqlite3.
'PASSWORD': 'XXXXXXX', # Not used with sqlite3.
'HOST': '', # Set to empty string for localhost. Not used with sqlite3.
'PORT': '8904', # Set to empty string for default. Not used with sqlite3.
} …Run Code Online (Sandbox Code Playgroud) postgresql database-connection postgis django-settings python-2.7
我正在尝试在Studio 2010/VB.Net中以窗口级别连接到数据库.我在Sql 2008r2中使用两个不同的数据库.我用来在表单加载事件(运行时)填充记录的一个数据库,当用户从该表单中选择他们的选择或任何修改时,应通过instert,更新,删除和保存命令将数据更新到其他数据库以供用户将来参考.
是否可以使用一个连接字符串连接两个不同的数据库?
我需要在下面提到的代码中添加两个数据库名称吗?
Imports System.Data.SqlClient
Dim con As New SqlClient.SqlConnection("data source=DATASOURCE;initial catalog=NAME OF DATABASE;Integrated Security=True")
Dim cmd As New SqlCommand()
cmd.Connection = con
con.Open()
con.Close()
Run Code Online (Sandbox Code Playgroud)
要么
我应该在某处使用两个数据库吗?
Imports System.Data.SqlClient
Public Class NEW_PERSONAL_INFORMATION
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Dim con As New SqlClient.SqlConnection("data source=ROOM310-40\SQLEXPRESS;initial catalog=DTIS;Integrated Security=True")
Dim cmd As New SqlCommand()
cmd.Connection = con
con.Open()
con.Close()
End Sub
End Class
Run Code Online (Sandbox Code Playgroud)
道歉如果我在简单的事情上寻求帮助或者无法解释它.
我将不胜感激任何帮助.
sql vb.net database-connection visual-studio-2010 sql-server-2008
Short: 在调用transaction.Commit()之后,下一个操作失败,就好像事务没有提交一样.
更多细节: 我们有一个线程对数据库运行写查询,其中一些被封装在一个事务中.在一段时间后运行较重的负载时,我们遇到一种情况,即提交事务后的操作失败,并显示一条指示事务正在进行的错误,具体取决于提交后执行的操作,我们收到以下错误之一:
下一步操作是'开始交易:
...连接不支持并行事务......
下一个操作是插入/更新/删除
当分配给命令的连接处于挂起的本地事务中时,ExecuteNonQuery要求命令具有事务.该命令的Transaction属性尚未初始化.
通过调试器检查Sql Connection对象表明它包含一个'sqlInnerTransaction'对象,其父对象设置为null.我们知道对'Commit'的调用成功完成而没有错误.
运行.net 4.0,SQL Server 2008 R2 SP2
我正在用lynda.com的视频学习PHP.我在localhost phpmyadmin面板中创建了一个名为widget_corp的数据库,我写了这些代码块
<?php
/* 1.Create a database connection */
$connection = mysql_connect("localhost", "root", "*");
if(!$connection){
die("Database connection failed: " .mysql_error());
}
/* 2. Select a database to use */
$db_select = mysql_select_db("widget_corp", $connection);
if(!$db_select)
{
die("Database selection failed: " . mysql_error());
}
?>
<html>
<head>
<title> Connection To the Database </title>
</head>
<body>
<?php
//3. Perform database query
$result = mysql_query("SELECT * FROM subjects",$connection);
if(!$result)
{
die("Database query failed: " .mysql_error());
}
//4. Use returned data
while($row = mysql_fetch_array($result));
{ …Run Code Online (Sandbox Code Playgroud) 在我的Ubuntu VM中,我一直在努力
SQLSTATE [HY000] [1045]访问被拒绝用户'用户名'@'localhost'(使用密码:YES)
我在我的.env文件中配置了这样的数据库
DB_HOST=45.55.88.57
DB_DATABASE=b-prod
DB_USERNAME=root
DB_PASSWORD=*********
UNIX_SOCKET=/var/run/mysqld/mysqld.sock
Run Code Online (Sandbox Code Playgroud)
它完美地运作.
但是当我使用时
DB_HOST=45.55.88.57
DB_DATABASE=b-prod
DB_USERNAME=b <----------------------------------------------
DB_PASSWORD=*********
UNIX_SOCKET=/var/run/mysqld/mysqld.sock
Run Code Online (Sandbox Code Playgroud)
我没工作.
还有什么我应该考虑来防止这种情况?
我有一种感觉,我的密码错了.
如何测试我的数据库密码?DB_PASSWORD =*********?
这是我的所有用户
mysql> SELECT User,Host FROM mysql.user;
+------------------+-------------+
| User | Host |
+------------------+-------------+
| root | % |
| root | 127.0.0.1 |
| root | 45.55.88.57 |
| root | ::1 |
| root | b |
| b | localhost |
| debian-sys-maint | localhost |
| root | localhost |
+------------------+-------------+
8 …Run Code Online (Sandbox Code Playgroud) database ×2
java ×2
jdbc ×2
mysql ×2
php ×2
sql ×2
vb.net ×2
c# ×1
clr4.0 ×1
codeigniter ×1
laravel ×1
laravel-5 ×1
odbc ×1
postgis ×1
postgresql ×1
python-2.7 ×1
resources ×1
ubuntu ×1
web-services ×1