当前位置:首页 » 编程语言 » firedacsqlserver
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

firedacsqlserver

发布时间: 2022-04-21 05:40:33

① 什么是正确的方法来动态创建和使用FireDac调用存储过程在Delphi

"If you have difficulties with manual definition of parameters,
populate the Params collection automatically and check how the
parameters are defined. Then compare that to your code. "

但我无法找到“自动”填充PARAMS的方式。我问的EMBA课程
FireDac新闻组和FD作者德米特里Arefiev,请解释说,
你可以做到这一点通过检查FetchOptions包括fiMeta,然后清除并设置FDStoredProc的
使用在演示我的sqlServer的定义如下:数据库的pubs都只有StoredProc:
create procere test(@ANumber int, @AName varchar(20))
as
begin
select
@ANumber * 2 as "Number",
@AName + @AName as "Name"
end

我换了一对夫妇的OP的代码段是这样
[...]
LSP.Params.Clear;
LSP.StoredProcName := '';
LSP.FetchOptions.Items := LSP.FetchOptions.Items + [fiMeta];
LSP.StoredProcName := aSPName;
LSP.Prepare;
Assert(LSP.ParamCount > 0);
for i := 0 to aParams.Count - 1 do
begin
LSP.Params.ParamByName(aParams[i].Name).Value := aParams[i].Value;
end;
[...]
procere TForm21.Button1Click(Sender: TObject);
var
LParams: TFDParams;
Param : TFDParam;
begin
LParams := TFDParams.Create;
Param := LParams.Add;
Param.Name := '@ANumber';
Param.Value := 612;
Param := LParams.Add;
Param.Name := '@AName';
Param.Value := '2008';
ExecuteStoredProc('test', LParams);
end;

它工作得很好。
该在Q他优先次有这样的SP无法执行的问题
但他会发现
CodeGo.net,它的工作,如果他“[下降],建立在代码中PARAMS”,所以我想我会在这里有,当然其中必然一切都在代码中做一个控制台应用程
序。这并不困难,但它得到了利用右边是我的主要理由,张贴此作为一个答案,以供将来参考。 W / O型的你会得到关于类工厂是缺失的。
控制台应用程序(创建,并在XE6测试):
program ConsoleStoredProcProject3;
{$APPTYPE CONSOLE}
{$R *.res}
uses
System.SysUtils, FireDac.DApt, FireDAC.Stan.Def, FireDAC.Stan.ASync,
FireDAC.Stan.Param, FireDAC.Stan.Option, FireDAC.Comp.Client,
FireDAC.Phys.MSSQL, VCL.ClipBrd;
procere TestSP;
var
Connection : TFDConnection;
StoredProc : TFDStoredProc;
Param : TFDParam;
begin
Connection := TFDConnection.Create(Nil);
Connection.DriverName := 'MSSQL';
Connection.Params.Values['Server'] := // your server name'';
Connection.Params.Values['Database'] := 'pubs';
Connection.Params.Values['user_name'] := 'user'; // adjust to suit
Connection.Params.Values['password'] := 'password'; // ditto
Connection.LoginPrompt := False;
Connection.Connected := True;
StoredProc := TFDStoredProc.Create(Nil);
StoredProc.Connection := Connection;
StoredProc.FetchOptions.Items := StoredProc.FetchOptions.Items + [fiMeta];
StoredProc.StoredProcName := 'test';
StoredProc.Prepare;
Param := StoredProc.Params.ParamByName('@ANumber');
Param.Value := 333;
Param := StoredProc.Params.ParamByName('@AName');
Param.Value := 'A';
StoredProc.Active := True;
WriteLn(StoredProc.FieldByName('Number').AsInteger);
WriteLn(StoredProc.FieldByName('Name').AsString);
ReadLn;
end;
begin
try
TestSP;
except
on E: Exception do
Clipboard.AsText := E.Message;
end;
end.

② sqlserver filestream怎么触发垃圾回收

不能,由于FileStream数据容器(指的是存放FileStream文件的NTFS文件夹,杜撰出来的术语)必须像数据文件或日志文件那样符合本地存储策略-也就是说,这个数据容器必须放在对于运行SQL Server的Windows Server是本地存储(译者注:也就是在‘计算机’里能看到的存储,DAC当然是了
其实SAN这类不直接连接服务器的也算是)访问FileStream数据只要客户端连接到了SQL Server服务器并获取响应的事务上下文后,就可以通过UNC路径进行访问了。

③ 想了解SQL server

SQL Server(MSSQLSERVER)是必须要开启的,这个是数据库引擎服务,就像汽车的发动机一样。
SQL Server代理(MSSQLSERVER)是代理服务,比如你有一些自动运行的,定时作业,或者是一些维护计划,比如定时备份数据库等操作,那么就要打开,否则,就不会备份数据库了。
SQL Server Reporting Services (MSSQLSERVER)是报表服务,一般不用开启,除非你做了报表,通过这个组件来提供报表服务,才需要开启。
SQL Server Analysis Services (MSSQLSERVER)是分析服务,一般不用开启,除非你做多位分析,和数据挖掘,才需要开启。
SQL Full-text Filter Daemon Launcher (MSSQLSERVER)是全文检索服务,如果你没有使用全文检索技术,那么也不需要开启。
SQL Server VSS Writer影拷贝服务(VolumeShadowCopyService,VSS)是Microsoft在WindowsServer2003中开始引入的服务,它能让用户在没有IT专业人员协助的情况下,更轻松地恢复丢失的文件。这个让sql server应该是sqlwriter和windows交互,实现这个影拷贝服务的。不过关闭,也没什么影响,因为在sql server中,还是要通过常规的数据库备份、日志备份来保证数据的安全,这个vss只是个很虚的东西,没什么用处。
SQL Browser主要是指在你的服务器上有多个sql server实例的情况下,通过这个sql browser来提供一些服务:
浏览可用服务器列表,比如你的机器上有3个实例,那么就会返回这3个实例的信息给你
连接到正确的服务器实例
连接到专用管理员连接 (DAC) 端点
一般如果你知道要连接哪个实例,建议你关闭这个服务。
其实一般你要进行远程访问,不需要开启sql browser,通过:服务器ip,端口 这种方式就可以访问远程的服务器。

④ sql server 2005怎样使用DAC管理员连接,连接本地服务器的就可以

你是用SSMS工具吗,打开工具出现登录界面时不要直接使用DAC方式进行连接,而是选择取消。然后单击“新建查询”,出现登录界面时在服务器名称前加admin:(注意不是登录名前)来登录即可。
使用sqlcmd的话,还要在-S选项后写上你的sql server的名字,一般是你的计算机名。

⑤ sqlserver远程版本信息泄漏怎么处理

最关键原因:windows firewall开启的原因。
添加例外:
Windows Vista 和 Windows Server 2008 以及更高版本
以下过程通过使用具有高级安全 Microsoft 管理控制台 (MMC) 管理单元的 Windows 防火墙来配置该 Windows 防火墙。从 Windows Vista 和 Windows Server 2003 开始提供此管理单元。高级安全 Windows 防火墙仅配置当前配置文件。有关高级安全 Windows 防火墙的详细信息,请参阅配置 Windows 防火墙以允许 SQL Server 访问。
打开 Windows 防火墙的端口以进行 TCP 访问
在“开始”菜单上,单击“运行”,键入 WF.msc,然后单击“确定”。
在“高级安全 Windows 防火墙”的左窗格中,右键单击“入站规则”,然后在操作窗格中单击“新建规则”。
在“规则类型”对话框中,选择“端口”,然后单击“下一步”。
在“协议和端口”对话框中,选择 TCP。选择“特定本地端口”,然后键入数据库引擎实例的端口号,例如默认实例的端口号 1433。单击“下一步”。
在“操作”对话框中,选择“允许连接”,然后单击“下一步”。
在“配置文件”对话框中,选择在您想要连接到数据库引擎时描述计算机连接环境的任何配置文件,然后单击“下一步”。
在“名称”对话框中,输入此规则的名称和说明,再单击“完成”。
在使用动态端口时打开对 SQL Server 的访问
在“开始”菜单上,单击“运行”,键入 WF.msc,然后单击“确定”。
在“高级安全 Windows 防火墙”的左窗格中,右键单击“入站规则”,然后在操作窗格中单击“新建规则”。
在“规则类型”对话框中,选择“程序”,然后单击“下一步”。
在“程序”对话框中,选择“此程序路径”。单击“浏览”,导航到要通过防火墙访问的 SQL Server 实例,再单击“打开”。默认情况下,SQL Server 位于 C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn\Sqlservr.exe。单击“下一步”。
在“操作”对话框中,选择“允许连接”,然后单击“下一步”。
在“配置文件”对话框中,选择在您想要连接到数据库引擎时描述计算机连接环境的任何配置文件,然后单击“下一步”。
在“名称”对话框中,输入此规则的名称和说明,再单击“完成”。
网络查询解决方案:
Step 1: 在服务器图标上单击右键,选择property,然后选connection,把allow remote connection选上,这一步的目的是让数据库允许远程连接。

Step 2: 在数据库服务器图标上,展开目录,找到Security下的Logins子目录树,设置SA账户的属性,改password,在status栏里,login选上enable。这一步的目的是,允许远程客户端使用sa用户邓肯,sa是system administrator的缩写,拥有数据库最高管理权限,默认状态下是禁用的。

Step3:在数据库服务器图标上右键,打开Facets选项把RemoteDacEnabled的value改成true。这一步的目的是允许建立远程专用管理员连接,此种连接拥有最高权限,即使无法建立标准连接,也可以建立DAC连接。

Step4:开启服务,打开SQL Server Configuration Tool,打开网络配置,选择TCP/IP协议,点开属性,IP地址填数据库所在服务器的IP地址,如果是本地服务器,填127.0.0.1。

测试方法:

建立一个C# Console application源文件,代码如下:

[c-sharp] view plain
class Program
{
static void Main(string[] args)
{
SqlConnection con = new SqlConnection("server=.;uid=sa;pwd=123456789;database=MyTable");

try
{
con.Open();

Console.WriteLine("连接数据库成功");
}
catch
{
Console.WriteLine("无法连接数据库");
}

Console.ReadKey();

}
}

如果能正常连接,则会提示连接成功。

Sql Server 2005的1433端口打开和进行远程连接

SQL code

如何打开sql server 2005 的1433端口

配置工具->Sql Server Configuration Manager->MSSQLSERVER的协议

看看TCP/IP协议是否启动,如果启动,右键菜单点"属性" ,在分页菜单中选"IP地址",把"IP1"和"IP2"中"TCP端口"为1433,

"已启用"改为"是"

配置工具->Sql Server Configuration Manager->SQL Native Client 配置->客户端协议->TCP/IP

选择TCP/IP右键菜单中"属性",确认"默认端口"是1433,"已启用"为"是"

SQL code

SQL Server 2005 远程连接

配置TCP/IP属性.

Surface Area Configuration --> Database Engine --> Remote Connections --->Using TCP/IT

SQL Server 外围应用配置器—服务和连接外围配置—database englie—远程连接—启用(远程连接的TCP/IP和named pipes)

SQL Server Configuration Manager—SQL2005网络配置—启用TCP/IP和named pipes

-----------------------------------------------------------------------------------------

一般按如上即可.

其他说明见下:

sqlserver2005(Express版),为了便于管理,你还需要去下一个manage管理器,微软的官方网站有

下,安装好manage管理器后,在程序中连接sqlserver2005,下面几点是要注意的。

1. 开启sql2005远程连接功能,开启办法如下,

配置工具->sql

server外围应用配置器->服务和连接的外围应用配置器->打开MSSQLSERVER节点下的Database Engine

节点,先择"远程连接",接下建议选择"同时使用TCP/IP和named pipes",确定后,重启数据库服务就可以了.

2.登陆设置改为,Sql server and windows Authentication方式同时选中,具体设置如下:

manage管理器->windows

Authentication(第一次用windows方式进去),->对象资源管理器中选择你的数据服务器--右键>属

性>security>Sql server and windows Authentication方式同时选中.

3:设置一个Sql server方式的用户名和密码,具体设置如下:

manage管理器->windows Authentication>new query>sp_password null,'sa123456','sa'

这样就设置了一个用户名为sa ,密码为:sa123456的用户,下次在登陆时,可以用Sql server方式,

用户名为sa ,密码为:sa123456的用户进数据库了.

4: 做完上面三步后,这样写连接字符串就可以顺利进入数据库了,

(server=.\\sqlexpress;uid=sa;pwd=sa123456;database=master";

其它版本,做如下设置

程序—Microsoft SQL Server 2005—配置工具—SQL Server 外围应用配置器—服务和连接的外围应用配置器—

1、MSSQLserver(实例名)—DataBase Engine—远程连接—(设置选项)

在下方选项

2、SQL Server Browser—服务(停止时只本机访问)

3、程序—Microsoft SQL Server 2005—配置工具—SQL Server Configuration Manager—网络连接协议-选择实例对应协议—启用(shard memory、Named Pipes、TCP\IP)

注: SQL Server 浏览器程序以服务的形式在服务器上运行。SQL Server 浏览器侦听对 Microsoft SQL Server 资源的传入请求,

并提供计算机上安装的 SQL Server 实例的相关信息。

SQL Server 浏览器可用于执行下列三种操作:

浏览可用服务器

连接到正确的服务器实例

连接到专用管理员连接 (DAC) 端点

SQL Server Browser 服务 (sqlbrowser) 为数据库引擎 和 SSAS 的每个实例提供实例名称和版本号。

SQL Server 浏览器随 Microsoft SQL Server 2005 一起安装,

为该计算机上运行的早期版本的 SQL Server(从 Microsoft SQL Server 7.0 开始)提供此服务。

⑥ SQLSERVER08 R2的数据层应用程序DAC 到底好在哪里

我是一个新手,我想问一下C++到底比C的优越性体现在哪里,我认为C++只不过是把函数放在数据结构中,其他也没什么.

⑦ 如何使用SQL Server 2005 DAC 登录到服务器

即使在
SQL
Server
不响应标准连接请求时,管理员也可以使用这种连接访问
SQL
Server,以便执行诊断查询并解决问题。命令行界面
(sqlcmd)
通过使用特殊的管理员开关
(-A),提供并支持这种专用管理员连接
(DAC)。二
如何使用DAC登录到服务器
1
本机DAC登录
命令行方式下执行
sqlcmd
-A
-S
sql服务器名
2
远程DAC登录
1)
打开远程DAC选项
'程序'-'Sql
Server2005'-
'配置工具'-
'Sql
Server
外围应用配置器'-
'功能的外围应用配置器'-
'DataBase
Engine'-
'DAC'
-
'启用远程DAC'
2)
登录到远程服务器3
登录后,
可以通过查询动态管理视图来诊断问题

⑧ sql server 2008无法远程连接

一、数据库引擎没有启动有两种启动方式:(1)开始->程序->MicrosoftSQLServer2008->SQLServer2008外围应用配置器,在打开的界面单击"服务的连接的外围应用配置器",在打开的界面中找到DatabaseEngine,单击"服务",在右侧查看是否已启动,如果没有启动可单击"启动",并确保"启动类型"为自动,不要为手动,否则下次开机时又要手动启动;(2)可打开:开始->程序->MicrosoftSQLServer2008->配置工具->SQLServerConfigurationManager,选中SQLServer2008服务中SQLServer(MSSQLSERVER),并单击工具栏中的"启动服务"按钮把服务状态改为启动;使用上面两种方式时,有时候在启动的时候可能会出现错误,不能启动,这时就要查看"SQLServer2008配置管理器"中的SQLServer2008网络配置->MSSQLSERVER协议中的VIA是否已启用,如果已启用,则把它禁止.然后再执行上述一种方式操作就可以了。二、进行远程连接时,是否已允许远程连接.SQLServer2008在默认情况下仅限本地连接.我们可以手动启用远程连接.在上面第一种方式中,找到DatabaseEngine,单击"远程连接",在右侧将"仅限本地连接(L)"改为"本地连接和远程连接(R)",并选中"同时使用TCP/IP和namedpipes(B)".三、如果是远程连接,则还要查看连接数据库的语句是否正确,登录账户是否正确,密码是否正确等.

⑨ sql server服务,谁能详细介绍一下

SQL Server FullText Search (MSSQLSERVER):全文检索服务
如果有全文索引的话要启动SQL Server FullText Search 没有的话启动不启动没有影响的

SQL Server Agent 是一个任务规划器和警报管理器,在实际应用和环境下,您可以将那些周期性的活动定义成一个任务,而让其在SQL Server Agent 的帮助下自动运行;假如您是一名系统管理员,则可以利用SQL Server Agent 向您通知一些警告信息,来定位出现的问题从而提高管理效率。SQL Server Agent 主要包括以下几个组件:作业;警报;操作。
主要执行以下步骤在SQL Server Enterprise Manager 中配置SQL Server Agent:

(1) 启动SQL Server Enterprise Manager, 登录到指定的服务器打开Management 文件夹,启动SQL Server Agent。
(2) 右击SQL Server Agent 图标,在弹出菜单中选择Properties 选项。打开SQL Server Agent Properties 对话框,选中General 标签页。如图17-1 所示。其中各选项的含义为:
System account: 定义SQL Server Agent 运行于哪个系统账号下,该系统账号是sysadmin 角色的成员;
This account: 定义SQL Server Agent 运行于哪一个NT 账号下,该账号必须是运行SQL Server Agent 服务器上的sysadmin 角色,选择此选项,必须在Password处提供密码。常在下列情况中选中该选项:
把事件转寄到其它NT 计算机的应用日志;
如何来创建一个作业,该作业要使用多个计算机上的资源;
通过电子邮件或寻呼通知操作员消息。
Mail Profile 有效的邮件配置文件名,该文件保存通过SQL Mail 为SQL ServerAgent 运行账号配置的邮件系统正常工作的配置信息;
Save copies of the sent messages in the Sent Items folder: 指定发送消息存放的文件目录;
File name: 指定SQL Server Agent 日志文件名,缺省名为C:\Mssql7\Log\Sqlagent.out;
Error message pop-up recipient 指定接收网络弹出错误消息的接收者名字,这些错误消息由SQL Server Agent 写入它的错误日志。
(3) 选中Advanced 标签页
Auto restart SQL Server if it stops unexpectedly :表示如果SQL Server 意外停止运行,则将自动重新启动;
Auto restart SQL Server Agent if it stops unexpectedly: 表示如果SQL Server Agent意外停止运行,则将自动重新启动;
Forward events to a different server: 表示将事件转寄给其它服务器。在Server 旁的下拉列表中选择接收服务器;
Unhandled events: 表示转寄那些不是在本地服务器上处理的事件;All 表示所有事件;
If error has severity of or above: 表示只有在错误等级大于或等于给定值时,才将事件转寄给所选服务器;
Idle CPU(s) Condition: 定义了CPU 空闭状态的属性值,即CPU 平均使用率低于给不定期值且该状态持续的时间超过给定时间,则认为CPU 处于空闭状态。
4) 选中Alert System 标签页
Address formatting for page e-mails: 该区域用来设定消息属性并在寻呼信息中加入错误信息;
Fail-safe operator: 表示失败安全型操作员,如果由于不确定的原因使消息无法到达指定的操作员,则SQL Server Agent 会把该消息传给失败安全型操作员;
(5) 选中Job System 标签页
Job history log: 该区域指定日志的大小以及每件作业的最大行数,从而避免填满msdb 数据库;
Job execution: 该区域用来设定在作业执行结束前SQL Server Agent 的最长等待时间,如果超过这一时间作业仍没有执行,则SQL Server Agent 将关闭;
Non-SysAdmin job step proxy account: 该区域用来设定执行CmdExec 和ActiveScripting
作业的限制。
(6) 选中Connection 标签页
SQLServer Connection: 该区域定义了将SQL Server Agent 连接到SQL Server 时使用的认证模式;
SQLServer alias 定义:本地SQL Server 服务器的别名。
注意:配置完SQL Server Agent之后需要重新启动,这样配置才能生效

SQL Server 浏览器程序以 Windows 服务的形式运行。SQL Server 浏览器侦听对 MicrosoftSQL Server 资源的传入请求,并提供计算机上安装的 SQL Server 实例的相关信息。SQL Server 浏览器可用于执行下列操作:

浏览可用服务器列表

连接到正确的服务器实例

连接到专用管理员连接 (DAC) 端点

SQL Server Browser 服务 (sqlbrowser) 为数据库引擎和 SSAS 的每个实例提供实例名称和版本号。SQL Server 浏览器随 SQL Server 一起安装,为该计算机上运行的早期版本的 SQL Server(从 SQL Server 7.0 开始)提供此服务。

SQL Server 浏览器可以在安装过程中进行配置,也可以使用 SQL Server 配置管理器进行配置。默认情况下,SQL Server Browser 服务会自动启动:

MicrosoftIntegration Services 是用于生成企业级数据集成和数据转换解决方案的平台。使用 Integration Services 可解决复杂的业务问题,具体表现为:复制或下载文件,发送电子邮件以响应事件,更新数据仓库,清除和挖掘数据以及管理 SQL Server 对象和数据。这些包可以独立使用,也可以与其他包一起使用以满足复杂的业务需求。Integration Services 可以提取和转换来自多种源(如 XML 数据文件、平面文件和关系数据源)的数据,然后将这些数据加载到一个或多个目标。

Integration Services 包含一组丰富的内置任务和转换、用于构造包的工具以及用于运行和管理包的 Integration Services 服务。可以使用 Integration Services 图形工具来创建解决方案,而无需编写一行代码;也可以对各种 Integration Services 对象模型进行编程,通过编程方式创建包并编写自定义任务以及其他包对象的代码。

⑩ sql server为什么不能用以DAC方式登陆(ADMIN:用户名)。

final String DRIVERNAME = "com.microsoft.sqlserver.jdbc.SQLServerDriver";

final String DBURL = "jdbc:sqlserver://localhost:3437;databaseName=netshop";

final String DBUSER = "sa";

final String DBPWD = "123";

public Connection conn;

public ResultSet rs;

public DBConn() {
// TODO Auto-generated constructor stub
getConn();
}

public Connection getConn() {
try {
Class.forName(DRIVERNAME);
conn = DriverManager.getConnection(DBURL, DBUSER, DBPWD);
//System.out.println("ok");

} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
System.out.println("驱动未找到");
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
System.out.println("数据库未找到");
e.printStackTrace();
}
return conn;
}
是这个吗?
中间的那个 是电脑随机产生的,所以每次启动机器时,都要查看后再进行修改。
这么查看的:
右击我的电脑--管理---服务 --SQL2005 --查看IP端口号。。

希望有用!!!