小编Cha*_*adD的帖子

用户'NT AUTHORITY\ANONYMOUS LOGON'的Web App登录失败

我看到很多人都会遇到这个错误,但他们的情况都与我的情况有所不同.

我有一个在Windows 2003 Server上的IIS 6.0中运行的ASP.NET 4.0 Web应用程序.

当我远程访问Web服务器框并在那里登录并以localhost而不是机器名称访问该站点时,Web应用程序正常工作.但是,当我从另一台客户端计算机访问该网站时,我收到以下错误:

Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'
Run Code Online (Sandbox Code Playgroud)

该网站启用了匿名访问,打开了Windows身份验证.该Web应用程序包含以下内容:

    <authentication mode="Windows">    </authentication>
    <identity impersonate="true"/>

  <connectionStrings>
      <add name="MyConnection" connectionString="Data Source=MyDbServer;Initial Catalog=MyDatabase;Integrated Security=True"
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)

我的Web服务器正在虚拟服务器上运行.这有关系吗?我假设没有.

请注意,如果我在Impersonation = TRUE后在Web配置中添加了我的域\登录名和密码,则该站点可以正常工作.

.net iis-6 windows-2003-webserver

20
推荐指数
2
解决办法
8万
查看次数

T-SQL动态SQL和临时表

看起来像使用动态SQL通过EXECUTE字符串方法创建的#temptables具有不同的范围,并且不能被同一存储过程中的"固定"SQL引用.但是,我可以在子序列动态SQL中引用由动态SQL语句创建的临时表,但似乎存储过程不会将查询结果返回给调用客户端,除非修复了SQL.

一个简单的2表场景:我有2个表.我们称之为订单和物品.Order具有OrderId的主键,而Items具有ItemId的主键.Items.OrderId是标识父订单的外键.订单可以包含1到n个项目.

我希望能够为用户提供一个非常灵活的"查询构建器"类型界面,以允许用户选择他想要查看的项目.过滤条件可以基于Items表和/或父Order表中的字段.如果一个项满足过滤条件包括和父条件中的条件(如果存在),那么该项应该在查询中返回以及父订单.

通常,我想,大多数人会在Item表和父Order表之间构造一个连接.我想改为执行2个单独的查询.一个返回所有符合条件的项目,另一个返回所有不同的父订单.原因有两个,你可能会也可能不会同意.

第一个原因是我需要查询父Order表中的所有列,如果我执行单个查询将Orders表连接到Items表,我将多次重新发布Order信息.由于每个订单通常有大量商品,我想避免这种情况,因为这会导致更多的数据被转移到胖客户端.相反,如上所述,我想在数据集中单独返回两个表,并使用其中的两个表来填充自定义Order和子Items客户端对象.(我对LINQ或Entity Framework还不够了解.我手工构建了我的对象).

我希望做的是这样的:

在客户端上构造一个动态SQL字符串,它将orders表连接到Items表,并根据在Winform胖客户端应用程序上创建的自定义过滤器指定的每个表上的过滤器.客户端上的SQL构建看起来像这样:

TempSQL = "

    INSERT INTO #ItemsToQuery
       OrderId, ItemsId
    FROM
       Orders, Items 
    WHERE
       Orders.OrderID = Items.OrderId AND
       /* Some unpredictable Order filters go here */
      AND
       /* Some unpredictable Items filters go here */
    "
Run Code Online (Sandbox Code Playgroud)

然后,我会调用一个存储过程,

CREATE PROCEDURE GetItemsAndOrders(@tempSql as text)
   Execute (@tempSQL) --to create the #ItemsToQuery table

SELECT * FROM Items WHERE Items.ItemId IN (SELECT ItemId FROM #ItemsToQuery)

SELECT * FROM Orders WHERE Orders.OrderId IN (SELECT DISTINCT OrderId FROM #ItemsToQuery)
Run Code Online (Sandbox Code Playgroud)

这种方法的问题在于,#ItemsToQuery表由于它是由动态SQL创建的,因此无法从以下2个静态SQL中访问,如果我将静态SQL更改为动态,则不会将结果传递回胖客户端.

我想到了一个更好的一个: …

t-sql sql-server stored-procedures dynamic-sql temp-tables

17
推荐指数
3
解决办法
5万
查看次数

SSIS:如何在另一个包中的脚本组件中重用脚本?

好的......我有第一个使用Scripting对象的SSIS包.我单击了Script按钮并在Visual Studio for Applications IDE中编写了一个过程.

现在我想在另一个包中重用这个代码.

避免Control + C,Control V的最佳做法是什么?

ssis sql-server-2008

15
推荐指数
1
解决办法
9751
查看次数

我打开一个Design.csproj并打开一个完整的解决方案!

为什么?

我希望只打开项目.

我能完成我想要做的唯一方法是创建一个新项目test.csproj,添加design.csproj,保存解决方案,然后删除test.csproj.

visual-studio-2010

14
推荐指数
1
解决办法
1369
查看次数

visual studio 2010无法发布到本地网站.拒绝访问

我刚刚搞砸了很多丑陋的东西后重新安装了IIS7.5.我承认我不知道自己在做什么.

我终于能够重命名我的windows\system32\inetsrv文件夹,这样当我重新安装IIS时,我会得到默认设置.

我疯狂地猜测运行它,它让我的网站运行:aspnet_regiis.exe -i

现在我无法从Visual Studio发布到wwwroot下的任何站点.

例如,我得到的错误:无法创建Web站点位置"C:\的Inetpub\wwwroot的\ WebApplication5".访问被拒绝.

我的工作是在其他地方发布,然后在那里复制代码 - 这是有效的.

善良知道我在这个过程中还有什么破坏,但我的网站似乎工作,除了因为访问被拒绝错误我无法使用VS2010中的发布功能.

我是否必须为此文件夹授予一些内置用户权限的ASPNET?

这是我的wwwroot文件夹上权限的快照:

在此输入图像描述

visual-studio-2010 iis-7.5

13
推荐指数
2
解决办法
2万
查看次数

如何执行可执行路径来自用户变量的Process Task

我有一个包含Process Task的SSIS包.流程任务需要执行批处理文件.批处理文件的位置因环境(开发,生产)而异.

如何动态设置Process Task对象的Executable属性值为用户变量? 在此输入图像描述在此输入图像描述

ssis visual-studio-2005 bids

12
推荐指数
1
解决办法
3万
查看次数

SQL Server数据库角色

据我了解,分配给db_datareader角色的用户有权读取数据库中的所有表,而分配给db_datawriter的用户可以更新所有表.

是否有数据库角色为用户提供执行所有存储过程的权限?

sql-server-2008

12
推荐指数
1
解决办法
7771
查看次数

无法使用12c jar创建Eclipse数据源到Oracle 12c.然而11g的作品

当我打开Data Source Explorer窗口并尝试创建新的连接配置文件时,我选择"Oracle",Oracle Thin Driver,然后将其指向我PC上的以下JAR文件:

C:\oracle_12101_64bit\product\12101_64bit\CLIENT_1\jdbc\lib\ojdbc7.jar
Run Code Online (Sandbox Code Playgroud)

提供连接参数后,它使用以下格式导出以下格式的连接URL

jdbc:oracle:thin:@host:PORT:SID
Run Code Online (Sandbox Code Playgroud)

但是,我想要它得出的是(注意冒号而不是正斜杠)

jdbc:oracle:thin:@host:PORT/SID
Run Code Online (Sandbox Code Playgroud)

我似乎能够使用生成的URL连接到11g数据库,但是,不是12c,我不知道这是巧合还是我有不同的问题.

在我的程序中,我使用JPA,它从我的配置文件中以所需的正斜杠格式读取连接URL,并且程序能够连接,如果我更改url使用冒号而连接失败.

如果我无法控制派生连接URL以生成带斜杠而不是冒号的URL,如何在Eclipse的Data Source Explorer视图中创建连接配置文件?我得到的错误是:

ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
Run Code Online (Sandbox Code Playgroud)

更新1

我注意到的一件事是,即使我关联了Oracle 12c附带的jdbc7.jar文件,驱动程序仍然显示为"Oracle 11".

在此输入图像描述

更新2:

以下是我的tnsnames.ora文件中的示例:

AFDEDEV.MYCO.COM =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = servername.sys.MYCO.com)(PORT = 2))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = afdedev.MYCO.com)
    )
  )
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

看起来连接字符串构建器只需要一个SID.我的SID是什么,或者我怎么知道?我试过了AFDEDEV和AFDEDEV.MYCO.COM.在11g确实有效的情况下,我使用了相当于AFDEDEV的东西.对不起,我真的不太了解SID与服务名称.是否有我可以对数据库执行的查询告诉我SID?

java eclipse oracle jpa

12
推荐指数
1
解决办法
4949
查看次数

有效文件名检查.什么是最好的方法?

请参阅提出问题的主题.

1)我记得在VB.NET中看到一个非常酷的选项,使用LINQ匹配使用"LIKE%"

2)我知道正则表达式将起作用,我怀疑这将导致最短的代码,并且可能不会太难以阅读这么简单的测试.

这就是我做的.警告:你会讨厌的.

Private Shared Function FileNameIsOk(ByVal fileName As String) As Boolean

    For Position As Integer = 0 To fileName.Length - 1

        Dim Character As String = fileName.Substring(Position, 1).ToUpper
        Dim AsciiCharacter As Integer = Asc(Character)

        Select Case True

            Case Character = "_" 'allow _
            Case Character = "." 'allow .
            Case AsciiCharacter >= Asc("A") And AsciiCharacter <= Asc("A") 'Allow alphas
            Case AsciiCharacter >= Asc("0") AndAlso AsciiCharacter <= Asc("9") 'allow digits

            Case Else 'otherwise, invalid character
                Return False

        End Select …
Run Code Online (Sandbox Code Playgroud)

vb.net

11
推荐指数
2
解决办法
3万
查看次数

smallint与int的表现

如果我知道列的值应始终在smallint数据类型允许的范围内,从数据完整性维护的角度来看,似乎我应该将数据存储在smallint列而不是int列中.

但是我想知道是否可以通过使用更少的字节来支付任何性能命中?

t-sql sql-server-2008

11
推荐指数
1
解决办法
4715
查看次数