运行转换时出错:indexoutofrangeexception - petapeco

时间:2013-08-14 22:13:19

标签: asp.net-mvc petapoco

根据@CreativeManix的建议,我开始调查petaPeco

Retrieving large number of rows (more than 10 mil) in asp.net mvc application

添加精确的system.data.oracleclient +将web.config放入mvc在.dll中编译的bin中我得到以下错误:

Error   3   

Running transformation: System.IndexOutOfRangeException: Index was outside the bounds of the array.
   at System.Array.InternalGetReference(Void* elemRef, Int32 rank, Int32* pIndices)
   at System.Array.GetValue(Int32 index)
   at Microsoft.VisualStudio.TextTemplating5F4490FB7AE018243DBB4DF6250E7211.GeneratedTextTransformation.GetCurrentProject()
   at Microsoft.VisualStudio.TextTemplating5F4490FB7AE018243DBB4DF6250E7211.GeneratedTextTransformation.GetConnectionString(String& connectionStringName, String& providerName)
   at Microsoft.VisualStudio.TextTemplating5F4490FB7AE018243DBB4DF6250E7211.GeneratedTextTransformation.InitConnectionString()
   at Microsoft.VisualStudio.TextTemplating5F4490FB7AE018243DBB4DF6250E7211.GeneratedTextTransformation.LoadTables()
   at Microsoft.VisualStudio.TextTemplating5F4490FB7AE018243DBB4DF6250E7211.GeneratedTextTransformation.TransformText()
   at Microsoft.VisualStudio.TextTemplating.TransformationRunner.RunTransformation(TemplateProcessingSession session, String source, ITextTemplatingEngineHost host, String& result)

在安装petaPoco后运行转换时会出现此错误。

有一件事我知道错误来自“GetCurrentProject” - 可能 - “(数组)dte.ActiveSolutionProjects”

我认为petaPoco与我的项目一起设置的方式有问题!不知怎的,它无法找到activesolution项目。我不太确定如何解决它。

1 个答案:

答案 0 :(得分:0)

我对此进行了调查。

在我的问题部分,我问了几个问题:

  1. 我不确定如何激活转换/生成Database.CS的过程。所以最初我是从命令提示符安装petapoco-我
  2. 为此,您只需右键单击“Database.tt”即可单击“运行自定义工具”。如果您的连接字符串正确+您正在引用正确的Oracle / SQL服务器数据提供程序+该提供程序在GAC +中可用(如果它是oracle并且您具有您尝试访问的数据库的默认模式用户的密码) - 那应该生成Database.cs

    1. 要使Oracle数据客户端能够从oracle数据库中读取模式,我需要在以下条目中进行以下操作:
    2. cmd.GetType().GetProperty("BindByName").SetValue(cmd, true, null);

      一切正常。

      1. 连接字符串可以如下所示:
      2. connectionString="Data Source=PXWREG;Persist Security Info=True;User ID=XWREG_ACDS_T;password=isacdst"