error in running transformation:indexoutofrangeexception - petapeco

最后都变了- 提交于 2019-12-11 19:22:00

问题


as per suggestion for by @CreativeManix I started investigating petaPeco

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

After adding exact system.data.oracleclient + putting web.config in the bin where mvc is getting compiled in .dll I got following error:

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)

This error shows up when i run the transformation after installation of petaPoco.

One thing I do know the error is coming from "GetCurrentProject" - and probably - "(Array)dte.ActiveSolutionProjects"

I think something is wrong in the way petaPoco is set up with my project! somehow it can't find the activesolution project. I am not too sure how to fix it.


回答1:


I investigated this.

In my question section I asked few questions:

  1. I was not sure about how to fire transformation/or process of generating Database.CS. So initially I was installing petapoco from the command prompt- I

To do that you just click "Run Custom Tool" by right clicking on the "Database.tt". If your connection string is correct + you are referencing correct Oracle/SQL server data provider + that provider is available in GAC + (if it is oracle and you have the password for the default schema user of the database you are trying to access)- then that should generate the Database.cs

  1. To enable Oracle data client to read the schema out of oracle database I needed to take out following entry:

cmd.GetType().GetProperty("BindByName").SetValue(cmd, true, null);

And everything worked.

  1. Connection string can look like:

connectionString="Data Source=PXWREG;Persist Security Info=True;User ID=XWREG_ACDS_T;password=isacdst"



来源:https://stackoverflow.com/questions/18243213/error-in-running-transformationindexoutofrangeexception-petapeco

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!