Hi @all

I've a Sybase SQL Anywhere 9 Server on a Windows server. I've a client with Windows 7. I want install only the ODBC driver for access to the server. But, how find I the ODBC driver? Only in the SDK? 322MB for only ODBC driver?

I'm not work with Sybase tools. My job is only execute only 2 queries in my program (.NET).

asked 19 Aug '14, 05:15

Roland%20Schumacher's gravatar image

Roland Schum...
6114
accept rate: 0%

edited 19 Aug '14, 05:16


SQL Anywhere 9 is very old (the current version is 16). I don't know if there's a separate InstallShield setup for just the Version 9 ODBC drivers. However, the V9 Compiled HTML Help describes "Deploying ODBC clients"... you can probably find the Help on the server where the database resides.

Here is what the shortcut looks like on my Windows laptop:

Target: C:\Windows\KeyHH.exe -dbma dbmaen9.chm::/HELP_TOP_INDEX.htm

Start in: "C:\Program Files (x86)\Sybase\SQL Anywhere 9\docs"

You may have to manually copy some files from the server to your workstation.

I have pasted the Help topics below, but the formatting [cough] leaves something to be desired :)...

ASA Programming Guide 
Deploying Databases and Applications 
Deploying client applications 
Deploying ODBC clients

The simplest way to deploy ODBC clients is to use the InstallShield objects 
or templates. For information, see Using InstallShield for deployment.

Each ODBC client machine must have the following:

A working ODBC installation    ODBC files and instructions for their 
redistribution are available for redistribution from Microsoft Corporation. 
They are not described in detail here.

Microsoft provides their ODBC Driver Manager for Windows operating systems. 
SQL Anywhere Studio includes an ODBC Driver Manager for UNIX. There is no 
ODBC Driver Manager for Windows CE.

ODBC applications can run without the driver manager. On platforms for 
which an ODBC driver manager is available, this is not recommended.

Update ODBC if needed 
The SQL Anywhere Setup program updates old installations of the Microsoft 
Data Access Components, including ODBC. If you are deploying your own 
application, you must ensure that the ODBC installation is sufficient for 
your application. 

The Adaptive Server Anywhere ODBC driver    This is the file dbodbc9.dll 
together with some additional files.

For more information, see ODBC driver required files.

Connection information    The client application must have access to the 
information needed to connect to the server. This information is typically 
included in an ODBC data source. 

ODBC driver required files
Configuring the ODBC driver
Deploying connection information

=====

ASA Programming Guide 
Deploying Databases and Applications 
Deploying client applications 
Deploying ODBC clients 
ODBC driver required files

The following table shows the files needed for a working Adaptive Server 
Anywhere ODBC driver. These files should be placed in a single directory. 
The Adaptive Server Anywhere installation places them all in the 
operating-system subdirectory of your SQL Anywhere installation directory 
(for example: win32).

Description  Windows  Windows CE  UNIX  
ODBC driver  dbodbc9.dll  dbodbc9.dll  libdbodbc9.so libdbtasks9.so  
Language-resource library  dblgen9.dll  dblgen9.dll  dblgen9.res  
Connect dialog  dbcon9.dll  N/A  N/A  

Notes 
Your end user must have a working ODBC installation, including the driver 
manager. Instructions for deploying ODBC are included in the Microsoft 
ODBC SDK.

The Connect dialog is needed if your end users are to create their own data 
sources, if they need to enter user IDs and passwords when connecting to 
the database, or if they need to display the Connect dialog for any other 
purpose.

====

ASA Programming Guide 
Deploying Databases and Applications 
Deploying client applications 
Deploying ODBC clients 
Configuring the ODBC driver

In addition to copying the ODBC driver files onto disk, your Setup program 
must also make a set of registry entries to install the ODBC driver properly.

Windows 
The Adaptive Server Anywhere Setup program makes changes to the Registry to
identify and configure the ODBC driver. If you are building a setup program 
for your end users, you should make the same settings.

You can use the regedit utility to inspect registry entries.

The Adaptive Server Anywhere ODBC driver is identified to the system by a set 
of registry values in the following registry key:

HKEY_LOCAL_MACHINE\
   SOFTWARE\
      ODBC\
         ODBCINST.INI\
            Adaptive Server Anywhere 9.0The values are as follows:

Value name  Value type  Value data  
Driver  String  path\dbodbc9.dll  
Setup  String  path\dbodbc9.dll  

There is also a registry value in the following key:

HKEY_LOCAL_MACHINE\
   SOFTWARE\
      ODBC\
         ODBCINST.INI\
            ODBC DriversThe value is as follows:

Value name  Value type  Value data  
Adaptive Server Anywhere 9.0  String  Installed  

Third party ODBC drivers 
If you are using a third-party ODBC driver on an operating system other than 
Windows, consult the documentation for that driver on how to configure the 
ODBC driver.

=====

ASA Programming Guide 
Deploying Databases and Applications 
Deploying client applications 
Deploying ODBC clients 
Deploying connection information

ODBC client connection information is generally deployed as an ODBC data 
source. You can deploy an ODBC data source in one of the following ways:

Programmatically    Add a data source description to your end-user's 
Registry or ODBC initialization files. 

Manually    Provide your end-users with instructions, so that they can 
create an appropriate data source on their own machine.

You create a data source manually using the ODBC Administrator, from the 
User DSN tab or the System DSN tab. The Adaptive Server Anywhere ODBC driver 
displays the configuration dialog for entering settings. Data source settings 
include the location of the database file, the name of the database server, 
as well as any start up parameters and other options.

This section provides you with the information you need to know for either 
approach.

Types of data source 
There are three kinds of data sources: User data sources, System data sources, 
and File data sources.

User data source definitions are stored in the part of the registry 
containing settings for the specific user currently logged on to the system. 
System data sources, however, are available to all users and to Windows 
services, which run regardless of whether a user is logged onto the system 
or not. Given a correctly configured System data source named MyApp, any 
user can use that ODBC connection by providing DSN=MyApp in the ODBC 
connection string.

File data sources are not held in the registry, but are held in a special 
directory. A connection string must provide a FileDSN connection parameter 
to use a File data source.

Data source registry entries 
Each user data source is identified to the system by registry entries.

You must enter a set of registry values in a particular registry key. 
For User data sources the key is as follows:

HKEY_CURRENT_USER\
   SOFTWARE\
      ODBC\
         ODBC.INI\
            userdatasourcenameFor System data sources the key is as follows:

HKEY_LOCAL_MACHINE\
   SOFTWARE\
      ODBC\
         ODBC.INI\
            systemdatasourcenameThe key contains a set of registry values, 
each of which corresponds to a connection parameter. For example, the 
ASA 9.0 Sample key corresponding to the ASA 9.0 Sample data source contains 
the following settings:

Value name    Value type  Value data  
Autostop      String      Yes  
DatabaseFile  String      Path\asademo.db  
Description   String      Adaptive Server Anywhere Sample Database  
Driver        String      Path\win32\dbodbc9.dll  
PWD           String      sql  
Start         String      Path\win32\dbeng9.exe -c 8m  
UID           String      dba  

Note 
It is recommended that you include the EngineName parameter in connection 
strings for deployed applications. This ensures that the application connects 
to the correct server in the event that a machine is running multiple Adaptive 
Server Anywhere database servers and can help prevent timing-dependent 
connection failures 

In these entries, path is the Adaptive Server Anywhere installation directory.

In addition, you must add the data source to the list of data sources in 
the registry. For User data sources, you use the following key:

HKEY_CURRENT_USER\
   SOFTWARE\
      ODBC\
         ODBC.INI\
            ODBC Data SourcesFor System data sources, use the following key:

HKEY_LOCAL_MACHINE\
   SOFTWARE\
      ODBC\
         ODBC.INI\
            ODBC Data Sources

The value associates each data source with an 
ODBC driver. The value name is the data source name, and the value data is 
the ODBC driver name. For example, the User data source installed by 
Adaptive Server Anywhere is named ASA 9.0 Sample, and has the following value:

Value name      Value type  Value data  
ASA 9.0 Sample  String      Adaptive Server Anywhere 9.0  

Caution: ODBC settings are easily viewed  

User data source configurations 
can contain sensitive database settings such as a user's ID and password. 
These settings are stored in the registry in plain text, and can be view 
using the Windows registry editors regedit.exe or regedt32.exe, which are 
provided by Microsoft with the operating system. You can choose to encrypt 
passwords, or require users to enter them on connecting. 

Required and optional connection parameters 

You can identify the data source name in an ODBC configuration string in this 
manner,

DSN=userdatasourcename

When a DSN parameter is provided in the connection 
string, the Current User data source definitions in the Registry are searched, 
followed by System data sources. File data sources are searched only when 
FileDSN is provided in the ODBC connection string.

The following table illustrates the implications to the user and developer 
when a data source exists and is included in the application's connection 
string as a DSN or FileDSN parameter.

When the data source...  

   The connection string must also identify...  

      The user must supply...   

Contains the ODBC driver name and location;  the name of the database file/server; startup parameters; and the user ID and password.    

   No additional information    

      No additional information.  

Contains only the name and location of the ODBC driver.    

   The name of the database file/ server; and, optionally, the user ID and the password.    

      User ID and password if not provided in the DSN or ODBC connection string.  

Does not exist  

   The name of the ODBC driver to be used, in the following format: Driver={ODBCdrivername}   
   Also, the name of the database, the database file or the database server; and,   
   optionally, other connection parameters such as user ID and password.  

      User ID and password if not provided in the ODBC connection string.  

For more information on ODBC connections and configurations, see the following:

Connecting to a Database.

The Open Database Connectivity (ODBC) SDK, available from Microsoft.

For multi-threaded applications on UNIX, use libdbodbc9_r.so and 
libdbtasks9_r.so.
permanent link

answered 19 Aug '14, 08:03

Breck%20Carter's gravatar image

Breck Carter
26.6k433604879
accept rate: 21%

edited 19 Aug '14, 08:04

2

your Setup program must also make a set of registry entries to install the ODBC driver properly

Our ODBC drivers are self-registering so the simplest way to "install" the driver (i.e., setup the registry entries) is to execute this command:

regsvr32 dbodbc9.dll

(20 Aug '14, 09:52) JBSchueler

You don't need ODBC for the .Net program (V9 has an ADO .Net data provider). Having said that, there is a "Network database client" option in the server install.

permanent link

answered 19 Aug '14, 06:00

Dmitri's gravatar image

Dmitri
1.5k41132
accept rate: 11%

But I want to use ODBC. Is there an ODBC driver?

(19 Aug '14, 07:33) Roland Schum...
Replies hidden
1

For the ODBC drivers, you can:

1) take server installer and install only client; 2) create your own client installer (for V10, it is 5 files and 4 registry keys, about the same in V9, I think).

(19 Aug '14, 08:03) Dmitri

Are the client tools (odbc or native driver) only trial versions?

(20 Aug '14, 07:05) Roland Schum...
Replies hidden
1

I'm not sure if I understand you correctly.

SQL Anywhere is a commercial database tool with a client-server architecture (among others), so you can choose to install only client components in the usual setup, as Dmitri has explained. (BTW: What SDK are you relating to in your original question?) The client install is due to the same licensing and support situation as the server setup, so those are not "trial" versions.

FWIW, there are several different editions available for current versions, among others a free developer edition. However, that would not be free to use in a commercial usage, as you seem to require.

(20 Aug '14, 07:42) Volker Barth

OK. In the current setup (SA1201_Client.exe) are only version 12 driver. With this driver can't access on a Sybase SQL Anywhere 9 database. :-/

(20 Aug '14, 08:35) Roland Schum...
Replies hidden
3

SA 12.0.1 client s/w can be used to connect to ASA9 server. Why do you say otherwise?

(20 Aug '14, 08:40) Mark Culp
showing 3 of 6 show all flat view
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:

×125
×8

question asked: 19 Aug '14, 05:15

question was seen: 7,448 times

last updated: 20 Aug '14, 09:52