Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 通过web服务连接到SQL Server 2005_Sql Server_Web Services_Delphi_Delphi 2010_Dbexpress - Fatal编程技术网

Sql server 通过web服务连接到SQL Server 2005

Sql server 通过web服务连接到SQL Server 2005,sql-server,web-services,delphi,delphi-2010,dbexpress,Sql Server,Web Services,Delphi,Delphi 2010,Dbexpress,Delphi 2010、dbExpress和SQL Server 2005数据库 我正在尝试使用Delphi2010和DBExpress连接到SQLServer2005DB 如果我创建一个标准的delphi应用程序并硬编码我的连接(它可以工作!): 所有ini文件和DLL与我的可执行文件位于同一文件夹中 是的,在uses子句中有DBXMsSQL和midslib 同样,如果不是web服务,它也可以工作 但是,如果我随后将代码移到Web服务CGI模块: function TTest.ConnectT

Delphi 2010、dbExpress和SQL Server 2005数据库

我正在尝试使用Delphi2010和DBExpress连接到SQLServer2005DB

如果我创建一个标准的delphi应用程序并硬编码我的连接(它可以工作!):

所有ini文件和DLL与我的可执行文件位于同一文件夹中

是的,在uses子句中有DBXMsSQL和midslib

同样,如果不是web服务,它也可以工作

但是,如果我随后将代码移到Web服务CGI模块:

function TTest.ConnectToDB: Boolean;stdcall;
var
 Conn: TSQLConnection;
begin
 Conn:= TSQLConnection.Create(nil);
 Conn.ConnectionName:= 'VPUCDS_VPN_SE01';  
 Conn.LoadParamsOnConnect := True;
 Conn.LoginPrompt:=True;
 try
   Conn.Connected:= True;
   result:=  Conn.Connected;
 finally
  Conn.Free;
 end;
end;

谢谢

我最近遇到了一个类似的情况,在申请表中打印QuickReports可以很好地工作,但当切换到服务时却无法工作。这是在Windows Server 2008上。结果表明,需要将“NetworkService”作为登录选项卡下的用户帐户安装该服务(在您的情况下是Web服务器)。从Windows帮助:

要指定服务使用网络服务帐户,请单击此帐户,然后键入NT AUTHORITY\NetworkService

要执行此操作,请转到开始->运行,然后输入services.msc

导航到IIS服务,右键单击并选择属性,然后转到登录

确保此帐户已被选中,并显示网络服务

该行

Conn.LoginPrompt:=True;
这是有问题的第一个迹象。web服务无法处理登录提示

第二,VPUCDS\U VPN\U SE01在哪里定义?如果是用户特定的ODBC连接,则应将其设置为系统范围的连接


在连接定义中提供登录详细信息,并将LoginPrompt设置为false。另外,提供一种将连接失败的原因返回给客户端的方法(例如,通过传递异常消息)。

对不起,从Windows Server 2008或从IIS7?您可以更具体地说明如何执行此操作。对不起,我显然是个新手。塔克斯!对不起,在我上面的问题中,我想用它不起作用来结束这个问题!我收到一条错误消息“Inavalid argument:VPUCDS_VPN_SE01”。它为什么会从标准应用程序可执行文件而不是web服务CGI可执行文件中工作???????谢谢不确定-在我的回答中添加更多内容时,您同时添加了您的评论(提供有关使用网络服务登录的说明。嗯,我按照您的指示到达了服务列表,但似乎找不到任何与IIS7相关的服务。您知道它的确切名称吗?Thanx!您是使用windows集成身份验证还是基于SQL的身份验证连接?我将尝试这两种方法。)-thanxO.K.我尝试了一下您的建议。请参见此处的结果:请参见此处的屏幕截图:
Conn.LoginPrompt:=True;