sqliteodbc安装后连接odbc数据库方法

sqliteodbc安装后连接odbc数据库方法,第1张

jdbc使用通过JAVA的数据库驱动程序直接连接到数据库,而jdbc-ODBC连接到ODBC数据源,实际连接到数据库的是ODBC。 建议使用JDBC直接连接,并使用连接池

JDBC是“Java数据库连接”。 它由一组用Java编程语言编写的类和接口组成。 JDBC为工具和数据库开发人员提供了标准API,使他们能够使用纯Java API创建数据库APP应用程序

开放数据库连接(odbc )是开放数据库互连。 ODBC基于SQL,作为访问数据库的标准。 该接口允许:个最大限度地提高互 *** 作性的APP应用程序通过一组公共代码访问不同的数据库管理系统。 软件开发人员开发的客户端/服务器APP应用程序不会局限于特定的数据库。 ODBC可以为各种数据库提供适当的驱动程序。 对于ASP课程

Qt专栏之模态与非模态对话框的实现

dbms和jdbc,mysql数据库odbc连接器

jdbc哪几种方式,jdbc主要

1、圆丛安装好bde;

2、安装好Mdac;(此项应该是odbc驱动for

MSSQLserver)

3、执行“windows的控制面板--管理工具--数据源(odbc)”,对MSSQLserver数据库建立相应的“系统DSN”;

4、执行bde配置程序,为上款的odbc数据源建立“alias别名”;

5、在delphi程序中

通过“别名”访问。

前提是你要设定好(本地或远程的)橘信樱SQLserver数据库

!坦碰

分类: 电脑/网络 >>电脑常识

问题描述:

原来都没尘哗判在意这个,现在我得用上这个了可是又不懂

(我用的数据库是SQL),

可SQL我也不怎么懂!

解析:

Microsoft ODBC 3.0 引入了连接池概念。

连接池使 ODBC 应用程序能够重用现有

来自池, 这样不 ODBC 应用程序无需重新定位连接

通过为任何后续连接完成连接进程。

当 ODBC 应用程序断开连接, 保存该连接

到池中代替实际断开。 保持此连接时间

池中派改取决于 ODBC 驱动程序的 CPTimeout 属性。 当

超时到期, 该连接被关闭并从池中删除。 ODBC

应用程序可用来更改此值 CPTimeout, 和 SQLConfigDriver

值适用于使用指定 ODBC 驱动程序的所有 ODBC 应用程序。

对于 CPTimeout 默认值为 60 秒。 连接池是很有用当 ODBC 应用程序如 Microsoft Inter

服务器信息 (例如) 连接和断开频繁。 Microsoft

Inter Information Server (IIS) 3.0 Active Server Pages (ASP)

利用了连接池。 您可启用连接池对

IIS 用户通过更改是 StartConnectionPool 值为 1。 StartConnectionPool 位于下:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\W3SVC\ASP\Parameters

ODBC 应用程序可以使用 SQLSetEnvAttr 来启用连接池。 下面是如何启用连接池 ODBC 应用程芦肆序中的示例: #include <windows.h>

#include <stdio.h>

#include <sql.h>

#include <sqlext.h>

void main()

{

SQLHENV henv

SQLHDBC hdbc

int i=0

if (!SQL_SUCCEEDED(SQLSetEnvAttr(

NULL, make process level cursor pooling

SQL_ATTR_CONNECTION_POOLING,

(SQLPOINTER)SQL_CP_ONE_PER_DRIVER,

SQL_IS_INTEGER)))

printf("SQLSetEnvAttr/SQL_ATTR_CONNECTION_POOLING error\n")

if (!SQL_SUCCEEDED(SQLAllocHandle(SQL_HANDLE_ENV, NULL, &henv)))

printf("SQLAllocHandle error\n")

set the ODBC behavior version.

if (!SQL_SUCCEEDED(SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION,

(SQLPOINTER) SQL_OV_ODBC2, SQL_IS_INTEGER)))

printf("SQLSetEnvAttr/SQL_ATTR_ODBC_VERSION error\n")

set the matching condition for using an existing connection in the

pool

if (!SQL_SUCCEEDED(SQLSetEnvAttr(henv, SQL_ATTR_CP_MATCH,

(SQLPOINTER) SQL_CP_RELAXED_MATCH, SQL_IS_INTEGER)))

printf("SQLSetEnvAttr/SQL_ATTR_CP_MATCH error\n")

while (i <10) {

if (!SQL_SUCCEEDED(SQLAllocHandle(SQL_HANDLE_DBC,

henv, &hdbc)))

printf("SQLAllocHandle error\n")

if (!SQL_SUCCEEDED(SQLConnect(hdbc,

(unsigned char*)"testing\0", SQL_NTS,

(unsigned char*)"sa\0", SQL_NTS,

(unsigned char*)"\0", SQL_NTS)))

printf("SQLConnect error\n")

else

printf("Connect successfully %d times\n", i)

the first time, the application calls SQLDisconenct, it will return

the connection to the pool

SQLDisconnect(hdbc)

if (!SQL_SUCCEEDED(SQLFreeHandle(SQL_HANDLE_DBC, hdbc)))

printf("SQLFreeHandle error\n")

i++

}

SQLFreeHandle(SQL_HANDLE_ENV, henv)

}

当 ODBC 应用程序调用 SQLDisconnect 初次, 该连接保存到池。 任何后续 SQLConnect / SQLDisconnect 匹配必需条件将重用第一个连接。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12311974.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存