Problem #1
After installation, the ODBC Driver did not appear in the list of
Drivers in the ODBC Data Source Administrator.
Solution #1
I noticed that the application was only using 16-bit DSN, thus, it was
not displayed because the OS was 32-bit.
Because the driver was not properly installed for 32-bit, I created an
installer using InstallShield that updated the registry to display it
in 32-bit.
I hope it helps to others having the same problem.
Problem #2
Now, I can connect using DSN to the database in my local computer but
not in the other computer in the network.
Please help! Thank you!
Depending on the version of the OS your using, you may also need to get
a more recent maintenance patch and ebf. See
http://www.ianywhere.com/products/sql_anywhere_archived.html
--
Chris Keating
Sybase Adaptive Server Anywhere Professional Version 8
*****************************************************************************
Sign up today for your copy of the SQL Anywhere Studio 10 Developer
Edition =and try out the market-leading database for mobile, embedded
and small to medium sized business environments for free!
http://www.ianywhere.com/downloads/software/sql_anywhere_intro.html
*****************************************************************************
iAnywhere Solutions http://www.iAnywhere.com
** Please only post to the newsgroup
** Whitepapers can be found at http://www.iAnywhere.com/developer
** EBFs can be found at http://downloads.sybase.com/swx/sdmain.stm
** Use Case Express to report bugs http://case-express.sybase.com
*****************************************************************************
But SupportMagic can access Sybase SQL Anywhere across the network. It
means our copy of this database is licensed for network connectivity.
Our installer of SupportMagic is bundled with this database, so it
does not require serial number for the database, only for SupportMagic
instead. This version (4.00) of SupportMagic is a 16-bit application.
How can I configure my Sybase SQL Anywhere 5.0 DSN for network
connectivity?
Please help me again! Thank you.
Here is an overview:
The database must be hosted on dbsrv50.exe (the network server engine).
The client uses dbclient.exe (32bit) or dbclienw.exe (16bit). You will
be using dbclient.exe assuming that you have configured your thunked 16
to 32 bit correctly. In your ODBC DSN, set the "server" value to match
the engine name of the network server that is used. In the startup
value, leave the database file value blank and select "Network" or
"Custom". For "custom", select Options and ensure that dbclient.exe is
used for the command.
If you continue to have problems, please post full details of your
environment i.e., how the network server is started, the configuration
of the dsn, and the details of the changes you made to enable thunking.
Here is my workstation's system information (DirectX Diagnostic Tool):
------------------
System Information
------------------
Time of this report: 6/28/2007, 16:03:20
Machine name: STELLENT
Operating System: Windows 2000 Server (5.0, Build 2195) Service
Pack 4
Language: English (Regional Setting: English)
System Manufacturer: ASUSTeK Computer Inc.
System Model: A3AC
BIOS: Default System BIOS
Processor: Intel(R) Pentium(R) M processor 1.73GHz
Memory: 1008MB RAM
Page File: 271MB used, 2154MB available
Windows Dir: D:\WINNT
DirectX Version: DirectX 9.0b (4.09.0000.0902)
DX Setup Parameters: Not found
DxDiag Version: 5.03.0001.0902 32bit Unicode
DxDiag Previously: Crashed in Direct3D (stage 2)
Here is the information of SupportMagic (16-bit):
SupportMagic© Help Desk for Window(TM)
Enterprise Edition Version 4.00.00
Copyright© Magic Solutions Inc. 1987-1997
Here is the information of Sybase database:
Sybase SQL Anywhere Database Engine Version 5.0.03 Build #884
Copyright by Sybase, Inc., and its subsidiaries, 1988, 1996.
All rights reserved. Sybase is a trademark of Sybase, Inc.
Here is the solution of my first problem:
REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE]
[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC]
[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI]
[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Sybase SQL Anywhere 5.0
Translator]
"Translator"="C:\\SQLAny50\\Win32\\wtr50t.dll"
"Setup"="C:\\SQLAny50\\Win32\\wtr50t.dll"
[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers]
"Sybase SQL Anywhere 5.0"="Installed"
[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Sybase SQL Anywhere
5.0]
"Driver"="C:\\SQLAny50\\Win32\\wod50t.dll"
"Setup"="C:\\SQLAny50\\Win32\\wod50t.dll"
Here is the DSN for Local Computer (which is connecting):
REGEDIT4
[HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Sources]
"dsnMagic"="Sybase SQL Anywhere 5.0"
[HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\dsnMagic]
"Driver"="C:\\SQLAny50\\Win32\\wod50t.dll"
"UID"="dba"
"PWD"="sql"
"Database"="C:\\Magicsql\\SM.DB"
"Start"="C:\\SQLAny50\\Win32\\dbeng50.exe"
"DatabaseName"="Sm"
"AutoStop"="yes"
"DatabaseFile"="C:\\Magicsql\\SM.DB"
Here is the DSN for Network Computer (which is not connecting):
REGEDIT4
[HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Sources]
"dsnMagic_N"="Sybase SQL Anywhere 5.0"
[HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\dsnMagic_N]
"Driver"="C:\\SQLAny50\\Win32\\wod50t.dll"
"UID"="dba"
"PWD"="sql"
"Database"="\\\\magic\\MagicSQL\\SM.DB"
"Start"="C:\\SQLAny50\\Win32\\dbclient.exe"
"DatabaseFile"="\\\\magic\\MagicSQL\\SM.DB"
"DatabaseName"="Sm"
"EngineName"="magic"
"AutoStop"="yes"
Here is the error message:
[Sybase][ODBC Driver]Unable to connect to database server: unable to
start specified database
I hope that information help a lot.
Thank you again for your immediate response.
Please help me more!
Do you have dbsrv50.exe?
Do you have dbclient.exe or dbclientw.exe? (I assume you do since you
have referenced it in your client setup).
If you do not have either one of executables , we need to stop here as
you cannot run your solution over a network without it.
If you do have these exes, you need to
1. Host the database file on dbsrv50. The basic setup for this is
dbsrv50 -c <cs> -n <enginename> <database file> -n <databasename>
* the -c option allocates cache to the engine. Cache has an impact on
performance and in SA5 cache size is static. A rough guide is that cache
be 25% of database size but cache is dependent on many factors so this
may not be the best choice for this application.
** AGAIN your vendor is best suited to advice you of their recommended
configuration. PLEASE get their advice, if possible.
2. Your dbclient (or dbclienw)
- remove any reference to a database file
- set the database name per your engine startline
- set the engine name per your engine startline
> [HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\dsnMagic]
> "Driver"="C:\\SQLAny50\\Win32\\wod50t.dll"
> "UID"="dba"
> "PWD"="sql"
> "Database"="C:\\Magicsql\\SM.DB"
> "Start"="C:\\SQLAny50\\Win32\\dbeng50.exe" ******
> "DatabaseName"="Sm"
> "AutoStop"="yes"
> "DatabaseFile"="C:\\Magicsql\\SM.DB"
You are not starting the network server ( dbsrv50.exe ), but are starting
the stand-alone engine, which means that only users from the local machine
can access the database engine.
> [HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\dsnMagic_N]
> "Driver"="C:\\SQLAny50\\Win32\\wod50t.dll"
> "UID"="dba"
> "PWD"="sql"
> "Database"="\\\\magic\\MagicSQL\\SM.DB"
> "Start"="C:\\SQLAny50\\Win32\\dbclient.exe"
> "DatabaseFile"="\\\\magic\\MagicSQL\\SM.DB" ******
> "DatabaseName"="Sm"
> "EngineName"="magic"
> "AutoStop"="yes"
This DSN configuration tells me that the "network access" you speak of is
simply mounting the network mapped database file by using the local engine
on the machine. With this configuration, the first person to start the
application on any of your machines is the only one that will be able to
access the database. When they shut down the application, someone else will
now be able to use the application.
On the assumption that dbsrv50 is installed on the machine when sm.db
exists, then your DSN on that machine should look like :
[HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\dsnMagic]
"Driver"="C:\\SQLAny50\\Win32\\wod50t.dll"
"UID"="dba"
"PWD"="sql"
"Database"="C:\\Magicsql\\SM.DB"
"Start"="C:\\SQLAny50\\Win32\\dbsrv50.exe"
"DatabaseName"="Sm"
"AutoStop"="no"
"DatabaseFile"="C:\\Magicsql\\SM.DB"
I changed the "Start" and "AutoStop" sections. Now, when you start the
application on the "server" machine the network server will start up and
will NOT shut down when you close the application. dbsrv50 will remain
running until you shut down the machine.
On the client machines, change the DSN to NOT reference the database file,
but to connect to the dbsrv50 process you started on the server machine.
[HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\dsnMagic_N]
"Driver"="C:\\SQLAny50\\Win32\\wod50t.dll"
"UID"="dba"
"PWD"="sql"
"Start"="C:\\SQLAny50\\Win32\\dbclient.exe"
"DatabaseName"="SM"
"EngineName"="SM"
--
Reg Domaratzki, Sybase iAnywhere Solutions
Sybase Certified Professional - Sybase ASA Developer Version 8
Please reply only to the newsgroup
iAnywhere Developer Community : http://www.ianywhere.com/developer
iAnywhere Documentation : http://www.ianywhere.com/developer/product_manuals
ASA Patches and EBFs : http://downloads.sybase.com/swd/base.do
-> Choose SQL Anywhere Studio
-> Set filter to "Display ALL platforms IN ALL MONTHS"
<rej...@gmail.com> wrote in message
news:1183022678.5...@g37g2000prf.googlegroups.com...
Could you please give me the url of that post?
What UNC stands for?
> Do you have dbsrv50.exe?
> Do you have dbclient.exe or dbclientw.exe? (I assume you do since you
> have referenced it in your client setup).
Yes, I have all the files you mentioned.
> 1. Host the database file on dbsrv50. The basic setup for this is
>
> dbsrv50 -c <cs> -n <enginename> <database file> -n <databasename>
Are the values enclosed with single quotes or double quotes?
Could you give an example?
Where should I put this command line?
In the registry configuration, or in the command/DOS prompt?
Our license of SupportMagic only allows 5 concurrent users.
> [HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\dsnMagic]
> "Driver"="C:\\SQLAny50\\Win32\\wod50t.dll"
> "UID"="dba"
> "PWD"="sql"
> "Database"="C:\\Magicsql\\SM.DB"
> "Start"="C:\\SQLAny50\\Win32\\dbsrv50.exe"
> "DatabaseName"="Sm"
> "AutoStop"="no"
> "DatabaseFile"="C:\\Magicsql\\SM.DB"
Where should I register that, on the local computer or on the network
computer?
> [HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\dsnMagic_N]
> "Driver"="C:\\SQLAny50\\Win32\\wod50t.dll"
> "UID"="dba"
> "PWD"="sql"
> "Start"="C:\\SQLAny50\\Win32\\dbclient.exe"
> "DatabaseName"="SM"
> "EngineName"="SM"
Where should I register that, on the local computer or on the network
computer?
Is "EngineName" the name of the computer where database file is
located?
If yes, then, the value must be "Magic" not "SM".
Will it work if I put a value in the "EngineName" that does not really
exist in the network?
Thank you for your great response.
The "client machines" are machines where you want to access the database,
but the database file is not physically located on that machine. You will
run dbclient on these machine to connect to the dbsrv50 process running on
the "server machine".
The EngineName specified in the DSN has nothing to do with the physical name
of the "server machine", but is the name of the database engine that is
started. Based on the DSN that I suggested you define at the "server
machine" the EngineName should be "SM".
--
Reg Domaratzki, Sybase iAnywhere Solutions
Sybase Certified Professional - Sybase ASA Developer Version 8
Please reply only to the newsgroup
iAnywhere Developer Community : http://www.ianywhere.com/developer
iAnywhere Documentation : http://www.ianywhere.com/developer/product_manuals
ASA Patches and EBFs : http://downloads.sybase.com/swd/base.do
-> Choose SQL Anywhere Studio
-> Set filter to "Display ALL platforms IN ALL MONTHS"
<rej...@gmail.com> wrote in message
news:1183097347.0...@x35g2000prf.googlegroups.com...