Skip to main content

Related Articles

Failed to open a rowset. Details: 42000:[IBM][iSeries Access ODBC Driver]Statement violates access rule: Connection is set to read only. Failed to open a rowset.

Failed to open a rowset. Details: 42000:[IBM][iSeries Access ODBC Driver]Statement violates access rule: Connection is set to read only. Failed to open a rowset.

This is very common error when you try to deploy your Crystal Report reports in production environment. But most of the time people doesn't have proper solution. This error can be raised due to various reasons. But as I feel Crystal report gives very generic errors rather giving specic error message. So that most of the time we need to spend lot of time to figure out the exact issue. As of my experience this error gives when your crystal report unable to retrive data from your database properly. Here in this case iSeries Acess ODBC Driver has used. You might use some other driver to communicate with your database. But you will get very similar error with respect to your driver. Whether you are using stored procedure to retive data or directly access the database table; doesn't matter this error might occur.

First thing that you can try out is check whether you have configured "AllowProcCalls" registry entry. You can check this, go to start button, then run. In run dialog box type "regedit" and enter. In the RegEdit you need to locate HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI. Then find your ODBC data source that your crystal report retrive data from. Verify that there is an entry called "AllowProcCalls" with a value of "1". If AllowProcCalls entry doesn't exists you can create it by right click on your ODBC data source, then select New : String Value. Enter in AllowProcCalls and enter. If AllowProcCalls entry has value other than 1 you can change its value by double clicking on that entry or right click on the entry and select modify. Enter 1 and press "OK".


Fig 1. AllowProcCalls entry in RegEdit window

Then load your Crystal Report again and check whether your problem solved. If you are getting further errors please let me know so that I will look in to them separatly.

More references:

Crystal Reports 2008 For Dummies
Crystal Reports 2008: The Complete Reference (Osborne Complete Reference Series)
Crystal Reports XI: The Complete Reference (Osborne Complete Reference Series)
Upgrade Crystal Reports 2008 Win Nul
Crystal Reports 10 For Dummies

Comments

  1. it did'nt solve my problem

    ReplyDelete
  2. I am having the same problem after doing all you said above, please help me. My email is aamiransari111@gmail.com

    ReplyDelete
  3. Aamir: Please give me more details about your issue. I have not tested this solution for Windows 7, for previous versions this is working.

    ReplyDelete
  4. Failed to open a rowset. Details: 42000:[Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax near '`'. Failed to open a rowset. Error in File C:\Users\Ayyappa\AppData\Local\Temp\temp_c9927171-6cfd-459c-bcd9-92d546270802 {3C9B0FA8-B40C-4202-916B-90405B5DEF13}.rpt: Failed to open a rowset.

    ReplyDelete

Post a Comment

Popular posts from this blog

Angular PrimeNG checkboxes styling and events handling

  Getting Started With PrimeNG Styling in Angular App This chapter I am planning to show how you can handle events of the checkboxes. For that I will use checkbox for every card to place the order.  To use PrimeNG checkboxes you have to import checkbox module in app.module.ts file. import {CheckboxModule} from 'primeng/checkbox'; import { BrowserModule } from '@angular/platform-browser'; import { NgModule } from '@angular/core'; import { AppRoutingModule } from './app-routing.module'; import { AppComponent } from './app.component'; import { LandingComponent } from './modules/landing/landing.component'; import { HomeComponent } from './modules/home/home.component'; import { CardModule } from 'primeng/card'; import {CheckboxModule} from 'primeng/checkbox'; @NgModule({ declarations: [ AppComponent, LandingComponent, HomeComponent ], imports: [ BrowserModule, AppRoutingModule, CardModu

The Power of ChatGPT and Whisper Models

A Deep Dive into Natural Language Processing Natural Language Processing (NLP) has seen a significant boost in recent years due to advancements in artificial intelligence and machine learning. Two models that have shown remarkable success in NLP are ChatGPT and Whisper. In this article, we will delve into the power of these models and their applications in the field of NLP. ChatGPT is a transformer-based language model developed by OpenAI that uses unsupervised learning to predict the next word in a sentence based on the context of previous words. ChatGPT is a generative model that is trained on large datasets of text, such as books and articles, and can be fine-tuned for specific tasks, such as question-answering or dialogue generation. ChatGPT is known for its ability to produce human-like text, making it an ideal tool for applications such as chatbots, content creation, and language translation. Whisper, on the other hand, is a paraphrasing model developed by Google that is based on

How to share data between components in angular

  Today I am going to talk about how we can make interaction between two different components in angular. There are two main approaches that we can follow. 1. If the two components are not relative, then you can use behavioral subjects to share data and trigger the event in one component, based on the value change in another component. 2. If the component is a child component of another component, then you can share data using @Input and @output directives Today in this chapter we will discuss on the first approach. How you can use Behavior subject to share between two components.  The BehaviorSubject holds the value that needs to be shared with other components. I will explain the concept using our flower store app. First, I will add PrimeNG text filed to the app.component.html file. To add the text field you have to import it in app.module.ts and also in app.component.ts file import { BrowserModule } from '@angular/platform-browser'; import { NgModule } from