因此,在我的工作场所,我们使用了许多应用程序,并且它们中的很多应用程序本身都有自己的服务器,并且可以在SSMS中管理该应用程序的数据库的单独服务器。应用程序如何连接到SQL Server数据库?
我只是想知道,应用程序如何连接到SQL Server数据库?例如,当将信息输入到应用程序中时,它如何更新并将其放入与应用程序本身不同的服务器上的数据库中?
因此,在我的工作场所,我们使用了许多应用程序,并且它们中的很多应用程序本身都有自己的服务器,并且可以在SSMS中管理该应用程序的数据库的单独服务器。应用程序如何连接到SQL Server数据库?
我只是想知道,应用程序如何连接到SQL Server数据库?例如,当将信息输入到应用程序中时,它如何更新并将其放入与应用程序本身不同的服务器上的数据库中?
上捎带关闭@Cade鲁的回答,我会尽量解释如何程序员将连接并执行SQL查询到服务器。我会假设因为你使用的是SSMS,那么你的公司就是完整的.Net堆栈。我将使用C#作为演示的编程语言。请记住,这是一个高层次的解释,不能作为最佳实践。
应用程序需要两件事来执行SQL查询:连接字符串和要执行的SQL命令。下面是示例代码:
...(other code)...
string queryS = @"Update myTable Set sqlField = 'datatoupdate' Where otherSqlField = 'whyweareupdatingthisrow'";
string connS = @"Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;";
CreateCommand(queryS, connS);
private static void CreateCommand(string queryString,
string connectionString)
{
using (SqlConnection connection = new SqlConnection(
connectionString))
{
SqlCommand command = new SqlCommand(queryString, connection);
command.Connection.Open();
command.ExecuteNonQuery();
}
}
'queryS' 是查询字符串。我假设你熟悉这一点,因为你使用过SSMS。
'connS'包含连接字符串。这是允许应用程序打开连接并使用数据库执行SQL查询的原因。在其中,您可以看到提供了服务器和数据库名称,以及需要什么凭证(与用于通过SSMS访问数据库的凭证相同)。这允许应用程序访问数据库,即使在不同的服务器上。请注意,这只是一个通用连接字符串,并且是other parameters can be passed into it as well。
其余的逻辑调用一个打开连接并执行查询的函数。
有关使用C#的SQL查询的其他信息可以找到here。
好的,我明白了,所以在用户与前端进行交互时,应用程序中的代码非常多,可以告诉它在哪里连接以及在数据库中更新哪些字段?确切地说,是 – bingaloman
。当您通过UI(前端)发送更新的数据时,该数据将作为传递给查询字符串的变量或参数发回。 – Ethilium
我现在明白了,谢谢你一定更清楚! – bingaloman
SQL Server有一个名为TDS的协议:表格数据流,它最终用于通过网络连接到服务器。
几种不同的驱动程序实现这一点,并提出不同的接口的应用取决于自己的喜好和标准等
https://docs.microsoft.com/en-us/sql/connect/sql-server-drivers
这是一个非常广泛的问题,需要网页回答。你知道这些应用程序是用什么编程语言编写的吗? – Ethilium
我不太确定,因为有多个我还不熟悉的应用程序。我想我认为所有人都有一种共同的方式。 – bingaloman