1 Open SQL Advantage error: Internal failure while initializing SQL Advantage
A few days ago in the Sybase win client (OC 12.5.1), encountered a problem. Each time you open the SQL Advantage 12.5.1, if the window is forced to close (for example, sometimes the interface card is dead), then the error will be turned on again:
1.Internal failure while initializing SQL Advantage. 2.Please Check that Open Client is configured correctly. As the following illustration shows, it is strange that if you restart your computer at this time, it is normal to turn on SQL advantage.
2 View the error message: Sybinit.err file
As shown in the following figure, each time initialization of SQL advantage fails, it is displayed in this file:
The context allocation routine failed is it tried to load localization files!!
One or more following problems may caused the failure
。 Follow the prompts in the file to check that Sybase's environment variable values are indeed D:\sybase, while the value of Lang in the D:\sybase\locales\locales.dat file is also zh_cn.
3 conjecture: OC client generation System Temp File
After the GG and BD no fruit, wondering why SQL Advantage after the computer restart and can work properly? At that time, the "most likely" guess is that before the forced shutdown, the OC side will produce some temporary files, save some configuration information, the computer is closed after the automatic removal of these files. So a test, after the error, immediately use CCleaner to clean up the system files. Then turn on SQL Advantage again, and the result is an error. GUESS failure!!!
4 System Environment variables: Windows "/" and "\"
Toss a few times, still did not find a way. Look at the next GG search results, referred to the PATH environment variables. So I looked at my own. It turns out that several configurations of Sybase's needs are all and are right. Carefully compared a few times, or found no abnormalities. It was suddenly found that there was a jarring factor at the end of the path configuration: "/". As shown in the figure, this is the environment variable that was configured before the JDK was installed. It's not common to notice that setting up a directory in Windows uses "\" instead of "/", or it causes an error that cannot find a path. Then the PATH variable two "/" to "\", and then open the SQL Advantage, unexpectedly normal!
5 extension: Other improper configuration will also report the same error
After the fix, specially on GG search the next. Of these, the two questions on the Sybase official forum are more representative
1 Open SQL Advantage error: Internal failure while initializing SQL Advantage
Two more representative questions were found at the Sybase official forum. The common feature is that the previous installation was a version of SQL Advantage 11.5.1.3, and then want to use the 12.5.1 version (Bo master only installed 12.5.1). After the two clients have been installed, the SQL Advantage will be turned on as an error. Based on these two questions and combining your own understanding, list the reference methods to solve the problem:
2.1 Questions 1:sql Advantage 12.5.1 and OC 12
Question Original address: Click to view. The general meaning is: Open Client 12 and SQL Advantage 11.5.1.3 were previously installed, and as a result of wanting to use the latest SQL Advantage 12.5.1, it was copied directly from another computer. However, because of the environment variables previously set by 11.5.1.3, an error occurs when attempting to run SQL Advantage 12.5.1 and a Sybinit.err file is generated under the Sqladv-12_5 folder. The contents of the file and Vfhky before the blogger encountered the different:
1.The context allocation routine failed. 2.The following problem caused the Failure:3.invalid context version. According to the recommendation: Create a. bat batch file (example of a blogger)
1.set Sybase=d:\sybase2.set sybase_ocs=ocs-12_53.d:\sybase\sqladv-12_ 5\sqladv.exe This set the OC client environment variables, found that the Sybase client copy will also need to add charsets, ini, locales folder. The folders were added and the test was successful.
2.2 Questions 2:sybase the 4.3 and SQL Advantage 12.5
Question Original address: Click to view. The general meaning is: previously installed version 11.5.1.3 and 12.5.4 SQL Advantage, each "Open SQL Advantage" time, will error "Internal failure while initializing SQL Advantage. Please check this Open Client is configured correctly. ". The reason for this is that some of the DLLs files in the previous 11.5.1.3 version were eventually not deleted and are in the%windows%\system32 directory, which is a priority in the system environment variable path, so the search supports the Sqladv.exe open When the client's function library file is DLLs, the 11.5.1.3 DLLs instead of the 12.5.4 dlls file is searched preferentially.
According to the recommendation: Adjust the SET command in the DOS window to see if the options for%sybase% and%sybase_ocs% are correct, and if otherwise create a batch batch file (see section 2.1 of the example), set the 12.5.4 environment variable%sybase% and% The value of the sybase_ocs%. Bloggers later used the set command to view their computer's system environment variables and user environment variables. The results are shown in the following figure.
3 Empirical Summary of the problem
The question about "Sybase win client Open SQL Advantage 12.5.1 error: Internal failure while initializing SQL Advantag" is mainly caused by environmental variables. The blogger's situation is that only the version of SQL Advantage12.5.1 is installed, and the two questioner on the forum installed both 11.5 and 12.5 versions. The blogger was writing a variable in the path of the system environment variable ("\" was written "/"), and on the forum the previous 11.5 version of the SQLADVANTAGE environment variable setting takes precedence over version 12.5 or is not set correctly. Therefore, the key to solving this problem lies in two places:
1.set command to see if SYBASE's environment variables are set correctly in the system (if not, use Bat batch files or use set commands directly); 2. Check system environment variables about%sybase%,%sybase_ocs% in Path are set to the corresponding Sybase installation path.