首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用Delphi以编程方式获取ODBC数据源名称列表

使用Delphi以编程方式获取ODBC数据源名称列表,可以通过调用Windows API函数SQLDataSources来实现。以下是一个简单的示例代码:

代码语言:delphi
复制
uses
  Windows, SysUtils, DB, ODBC;

function GetODBCDataSourceNames: TStringList;
var
  hEnv: SQLHENV;
  hDsn: SQLHDBC;
  RetCode: SQLRETURN;
  ServerName, UserName: array[0..1024] of Char;
  NameLength1, NameLength2: SQLSMALLINT;
begin
  Result := TStringList.Create;
  try
    RetCode := SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, hEnv);
    if RetCode <> SQL_SUCCESS then
      Exit;
    RetCode := SQLSetEnvAttr(hEnv, SQL_ATTR_ODBC_VERSION, @SQL_OV_ODBC3, 0);
    if RetCode <> SQL_SUCCESS then
      Exit;
    RetCode := SQLAllocHandle(SQL_HANDLE_DBC, hEnv, hDsn);
    if RetCode <> SQL_SUCCESS then
      Exit;
    RetCode := SQLDriverConnect(hDsn, 0, nil, 0, nil, 0, @NameLength1, SQL_DRIVER_NOPROMPT);
    if RetCode <> SQL_SUCCESS then
      Exit;
    RetCode := SQLDataSources(hEnv, SQL_FETCH_FIRST, ServerName, 1024, NameLength1, UserName, 1024, NameLength2);
    while RetCode = SQL_SUCCESS do
    begin
      Result.Add(Format('%s (%s)', [ServerName, UserName]));
      RetCode := SQLDataSources(hEnv, SQL_FETCH_NEXT, ServerName, 1024, NameLength1, UserName, 1024, NameLength2);
    end;
  finally
    SQLFreeHandle(SQL_HANDLE_DBC, hDsn);
    SQLFreeHandle(SQL_HANDLE_ENV, hEnv);
  end;
end;

在这个示例代码中,我们首先调用SQLAllocHandle函数来分配环境句柄,然后调用SQLSetEnvAttr函数来设置环境属性,接着调用SQLAllocHandle函数来分配连接句柄,然后调用SQLDriverConnect函数来建立与数据源的连接。最后,我们调用SQLDataSources函数来获取ODBC数据源名称列表,并将其添加到TStringList对象中。

需要注意的是,这个示例代码只是一个简单的示例,实际应用中可能需要更多的错误处理和资源管理。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

ADO,OLEDB,ODBC,DAO的区别

所以如果数据库是Access数据库且是本地使用的话,建议使用这种访问方式---应用的专一性 RDO(Remote Data Objects,远程数据对象) 1995年,RDO是一个到ODBC的、面向对象的数据访问接口...ADO涉及的数据存储有DSN(数据源名称)、ODBC(开放式数据连接)以及OLE DB三种方式。后面的例程将详细讲解这三种方式的具体访问实现。...---可以说是对odbc,oledb这些系统级的编程接口的汇接,并对DAO,RDO这些应用级的编程接口的升级吧。 ?...OLE DB 是用于访问数据的重要的系统级编程接口,它是 ADO 的基础技术,同时还是 ADO.NET 的数据源。...连接(必须先注册数据源---DSN) (列举配置SQL Server数据库文件DSN,打开管理工具---数据源(ODBC)---打开系统DSN选项卡---单击添加按钮---从列表中选择SQL Server

3.3K30

还在写SQL做SAP二开?通过RFC调用NetWeaver,让HANA数据库操作更可靠

(通过ODBC操作HANA) 首先,我们需要在开发环境、测试环境和生产环境的服务器上,配置SAP提供的ODBC数据源。...在"系统DSN"选项卡中点击"添加",选择HDBODBC,之后按照界面提示输入数据源名称,如"HANA-测试库"、服务器IP地址、用户名和密码就可以了。...(创建到HANA的ODBC数据源) 配置完成后,我们就可以像操作其他数据库一样,对 SAP HANA的数据进行读写了。回到活字格里面,我们使用"连接到外联表"功能,引入HANA中需要操作的所有数据表。...之后就可以用拖拽的方式完成数据绑定,或者在服务端拼接和执行SQL语句了。 (在活字格低代码平台中引入ODBC数据源) 如果仅仅是读取元数据或者一些简单的单据,这种方案确实是一个简单的办法。...因为客户采用的是低代码的开发方式,这个RFC桥的实现方式为基于活字格服务端编程接口开发的自定义WebAPI。

1.5K20
  • ODBC 安装使用编程

    前言:   主要讲解ODBC API, mysql为例, 从配置到安装, 再到具体的编程, 以期对ODBC有个初步的认识. *) 下载mysql, 选择社区版mysql, 并安装   http:/...connector/odbc/ *) 使用odbc数据源管理器, 推荐odbcad32.exe   http://support.microsoft.com/kb/942976/zh-cn *) 驱动在注册表...每个数据源其具体项各有区别. ODBC Data sources目录项, 记录了其他所有的数据源项, 方便告知驱动程序管理器具体odbc驱动器的数据源类型.   ...example * * * 本例子的目的: 通过odbc编程, 来对odbc的接口有个感性而深入的认识 * * */ #include #include ...的数据类型转换列表 C语言数据类型名称 ODBC 数据类型定义 C语言实际类型 SQL_C_CHAR SQLCHAR * unsigned char

    2.9K10

    详细设计说明书编写规范「建议收藏」

    下面列出了 Delphi 支持的一些推荐使用的对象约定。   ...(此处加入说明)   描述变量和过程名   变量或过程名的主体应该使用大小写混合形式,并且应该足够长描述它的作用。而且,函数名(此处加入函数名称)。   ...(4)运算符   (此处加入运算符列表及说明)   (5)为(此处加入问题) 查询创建字符串   (此处加入说明)   5 .2.4 数据源的约定   (此处加入数据源的约定)   5 .2.5...下面列出了 Delphi 支持的一些推荐使用的对象约定。   ...(4)运算符   (此处加入运算符列表及说明)   (5)为(此处加入问题) 查询创建字符串   (此处加入说明)   5 .2.4 数据源的约定   (此处加入数据源的约定)   5 .2.5

    1.9K20

    『数据库』数据库编程(概念性的东西,应用一般,甚至有点过时,用来考试)

    应用程序每执行完一条SQL 语句之后都应该测试一下SQLCODE的值,了解该SQL语句执行情况并做相应处理 5.主变量 嵌入式SQL语句中可以使用主语言的程序变量来输入或输出数据 在SQL语句中使用的主语言程序变量简称为主变量...数据类型 ODBC数据类型 SQL数据类型:用于数据源 C数据类型 :用于应用程序的C代码 应用程序可以通过SQLGetTypeInfo来获取不同的驱动程序对于数据类型的支持情况 SQL数据类型和C...连接函数的输入参数为: 配置好的数据源名称 用户ID 口令 创建数据源—第三步:建立连接 处理任何SQL语句之前,应用程序还需要首先分配一个语句句柄 语句句柄含有具体的SQL语句以及输出的结果集等信息...应用程序还可以通过SQLtStmtAttr来设置语句属性(也可以使用默认值) 创建数据源—第四步 应用程序处理SQL语句的两种方式 预处理(SQLPrepare、SQLExecute适用于语句的多次执行...SQLNumResultCols来获取结果集中的列数 通过SQL DescribeCol或SQLColAttrbute函数来获取结果集每一列的名称、数据类型、精度和范围 ODBC使用游标来处理结果集数据

    1.4K20

    【续坑】如何心平气和地填坑之拿RSViewSE的报表说事(2)

    同样支持ODBC数据源方式访问。不同的是,其ODBC数据源驱动需要在官网下载安装。...好了,言归正传,在RSViewSE里面做报表,常用的就是使用Datalog的ODBC数据源方式将数据存储在数据库内,然后在画面内编写VBA脚本按时间或其他方式查询这些数据。...先澄清几个概念: 什么是ODBC数据源 前面我们说很多数据库都支持ODBC数据源方式访问,RSViewSE软件本身也支持通过该方式与数据库交互,那么,ODBC数据源是什么呢?...接下来选择数据源驱动,列表内列出了很多驱动,后面括号内为该驱动支持的连接文件格式,对于2007及以前的Access数据库,使用包含.mdb的驱动,2007以后的,使用.accdb驱动。...我们使用该接口通过ODBC方式访问到已经创建的数据库。通过ADODB接口读取回来的数据库数据会存放在一个记录集Recordset内,我们需要对Recordset进行操作获取内容。

    2.9K10

    数据库包括哪些技术?

    3) 数据库的运行管理 数据库在建立、运用和维护时由数据库管理系统统一管理、统一控制,保证数据的安全性、完整性、多用户对数据的并发使用及发生故障后的系统恢复。...4) 提供方便、有效地存取数据库信息的接口和工具 编程人员可通过编程语言与数据库之间的接口进行数据库应用程序的开发。...使用方式灵活:SQL具有两种使用方式,可以直接命令方式交互使用;也可以嵌入使用,嵌入C、C++、Fortran、COBOL、Java等语言中使用。...注意:SQL 语句不区分大小写,许多 SQL 开发人员习惯对 SQL 本身的关键字进行大写,而对表或者列的名称使用小写,这样可以提高代码的可阅读性和可维护性。本教程也按照这种方式组织 SQL 语句。...ADO ADO(ActiveX Data Objects)是一个用于存取数据源的 COM 组件,提供了编程语言和统一数据访问方式 OLE DB 的一个中间层,允许开发人员编写访问数据的代码而不用关心数据库是如何实现的

    1.4K10

    Oracle ODBC 配置(不需安装oracle客户端)

    将文件夹放到合适的位置,我是放到C盘的根目录 3,管理员身份进入命令行,如:cmd ,或者是PowerShell 运行:odbc_install.exe,安装odbc 驱动,会提示安装成功...4,测试数据源 打开 windows管理工具-》odbc数据源 (64位) ; 用户dsn,或者是系统dsn都可以,点击“添加”,添加数据源配置,注意: a,数据源名称是自我指定的...5,建立连接字符串 可以建立一个文本文件,将后缀名该为udl,再双击打开,在 “连接”————》“选择或输入服务器名称”中就可以看到刚刚建立的数据源了,完成用户名,密码的配置,保存。...后记:当我在c# .net平台下写了个aspx网页连接oracle的odbc数据源时,查询出的中文都是问号。...服务端编码方式获取,用sql语句: select userenv('language') from dual; //dual 为任一表名称 客户端添加“系统环境变量” NLS_LANG 变量值为上面获取

    6.3K40

    golang 使用cgo访问mysql

    在centos上安装odbc 在CentOS上安装ODBC可以通过以下步骤完成: 更新系统软件包列表: 安装ODBC开发包: 下载和安装MySQL ODBC驱动程序: 上述命令中的驱动程序版本和文件名可能会因时间而异...然后,我们定义了一些C语言的辅助函数来分配和释放ODBC句柄,执行SQL查询,并处理错误消息。 在main函数中,我们首先定义了一个DSN字符串,用于指定ODBC数据源名称。...然后,我们分配一个连接句柄,并使用SQLDriverConnect函数连接到数据源。如果连接成功,则可以使用executeQuery函数执行SQL查询,并获取结果集句柄。...我们使用SQLFetch函数逐行获取结果集中的数据,并使用SQLGetData函数获取每个列的值,并将其打印到控制台上。...需要注意的是,ODBC API中的许多函数都具有异步执行的特性,因此需要在调用这些函数后检查返回值,确定它们是否已经完成执行。

    29130

    PyQt5数据库开发1 4.2 配置SQL Server 2008 数据源(ODBC编程)

    文章目录 配置SQL Server 2008 数据源ODBC编程) 1. 了解要配置的数据源服务器名称,以及数据库和对应表 2. 打开控制面板,点击管理工具  3. 双击数据源 4....输入名称和服务器 7. 使用账号密码登陆 8. 更改默认数据库 9. 接受默认,点击完成 10. 测试数据库  11....点击确定,关闭所有对话框 ---- 配置SQL Server 2008 数据源ODBC编程) 1. 了解要配置的数据源服务器名称,以及数据库和对应表 2....双击数据源 4. 选择“用户DSN”选项卡,点击“添加” 5. 选择SQL Server,完成 6. 输入名称和服务器 7. 使用账号密码登陆 8. 更改默认数据库 9....点击确定,关闭所有对话框 最后,数据源成功配置! !

    49020

    windows建立Oracle数据库的ODBC数据源

    将两个文件解压到同一个文件夹中,根目录是instantclient_11_2 管理员身份进入命令行,右键单击开始菜单,选择“命令提示符(管理员)A”。 ?...进入instantclient_11_2目录,运行:odbc_install.exe ? 3、新建Oracle数据源 控制面板–>管理工具–>ODBC数据源(64位) ?...可以发现已经有了Oracle数据源,选择Oracle驱动程序,单击“确定”按钮 ? 出现配置项界面 ? Data Source Name字段,指定一个名称即可。...重要的配置项是:TNS Service Name 其格式如下 IP地址:端口号/实例名 创建好的Oracle数据源如下 ? 3、获取连接字符串 新建一个后缀名为udl的文件,然后双击打开。...(1)选择ODBC驱动程序 ? (2)配置连接信息。数据源名称选择上面我们设置的数据源名称,然后输入用户名和密码,单击测试连接。 ?

    3.5K30

    基于WiReport的工业生产报表快速开发

    数据的获取还有部分需要人工手动抄表,汇总时又极易出错,大大降低工作效率及准确率。 根据实际需求,多样化的数据格式汇总所需生产数据,成为很多企业的迫切需求。...日报表制作步骤 01 创建数据库,组态软件配置列表归档,记录变量到数据库 本文MySQL为例进行说明,首先创建数据库,打开数据库管理器,创建一个名为wiscada的数据库。...和数据库连接成功后,打开WiSCADA软件左侧列表归档目录,右键选择配置。 添加按钮列表,默认名称为Report_1,点击右侧添加按钮添加要记录的变量。...02 设计报表格式,添加数据源,连接数据库 报表格式设计需要使用到ReportsDesigner软件,该软件位于WiSCADA 3.0软件安装目录下Reports文件夹内,双击打开即可。...打开报表设计软件,拖入表格控件,创建一个表格; 在右侧工具栏选择数据源,右击点击数据源,弹出添加数据源按钮,点击添加数据源,并选择Microsoft ODBC Provider。

    2.1K10

    Jmeter系列之《3.badboy脚本开发技术详解》

    中的数据库参数化(没实操) 1.安装odbc 2.配置数据源 3.data source放到脚本最前端 四、badboy中的并发 五、badboy中查看报告 六、badboy中打断点 一、badboy中的检查点...: sogou.com搜索为例演示,搜索badboy。...这样检查点就成功了 二、 badboy中的文本参数化 1.建立参数化列表 添加current value,可以添加一个或多个。其它保持默认,点击ok,这个时候参数化的列表就完成了。...5.设置检查点根据参数化进行回放 改成参数化的名称。 重放成功 注意:参数化的名称要一致,且是英文的。 总结 1.建立参数化列表。 2.在请求中替换${参数名称}。...三、badboy中的数据库参数化(没实操) 1.安装odbc 下载安装odbc:https://blog.csdn.net/arlene032/article/details/106218312 2.配置数据源

    37230

    程序员你知道吗?C# 也可以连接和操作Access数据库

    以前就听说过C#可以通过ODBC进行连接其他类型数据库,一直也没怎么研究。最近啊,小编一次偶然的机会,迫使不得不去使用Access数据库进行开发。当然,数据库操作其实一通百通,也没算费多少力气。...下面再介绍一个数据源配置的方式数据源配置 首先需要进行数据源配置: 【控制面板】-【小图标显示】-【管理工具】-【数据源(ODBC)】-【系统DSN】-【添加】 发现并没有Access所对应的数据源选项...所以需要找到ODBC 数据源(32 位)的程序进行配置数据源: 【我的电脑】-【C盘】-【Windows】-【SysWOW64】-【odbcad32.exe】 直接打开这个文件,进行配置。 ?...: 输入数据源名称,以及选择数据库文件的位置。 ? ? 直到此时,数据源配置完毕。 Winform项目打开,添加DataGridView。为DatagridView添加指定数据源。...选择自己定义的数据源名称,直接创建即可: ? 选择数据库内绑定的数据: ? 数据源添加完毕,直接运行效果: ? 好了,就到这里了,如有错误,还请指正。 ?

    4K20

    PyQt5数据库开发1 4.3 QSqlTableModel④上部

    确保可以运行新建appMain.py运行appMain.py确保可以运行开启SQL Server远程连接参见4 PyQt5数据库开发 4.1 SQL Server 2008 R2如何开启数据库的远程连接配置ODBC...数据源参见4 PyQt5数据库开发 4.2 配置SQL Server 2008 数据源(ODBC编程)控制面板上看SQL Server数据库名称叫MSSQLSERVER配置ODBC数据源pyqt5打开数据库表写打开数据库的槽函数在...qt上的actOpenDB这个action上点击右键,选择转到槽选择triggered信号复制函数名在myMainWindow.py中添加函数运行后发现数据库可以打开了ODBC配通了,数据库还是打不开如果...PyQt5使用Model/View结构来处理界面与数据。...Model从源数据提取需要的数据,用于视图组件进行显示和编辑tableView视图组件从数据模型获得数据进行显示和编辑添加列名称插入红框中的代码运行后可以看到表头信息出来了根据内容调整列宽列太宽了,很难看

    20400

    Odbc微软开发式数据库操作和使用

    [TOC] 0x00 前言简介 描述:在开发之中常常使用 OCCI接口进行编程的它得优点: 一个原因是自己比较喜欢纯C++编程 二是考虑到程序是要往Linux服务器移植的少走冤枉路 百度百科:开放数据库连接...开放系统体系结构))的主要部分和基于Windows环境的一种数据库访问接口标准ODBC 为异构数据库访问提供统一接口,允许应用程序SQL 为数据存取标准,存取不同DBMS管理的数据;使应用程序直接操纵...-12.1.0.2.0.zip 分别解压base包里面有oci.dll链接数据库驱动,然后将ODBC包中的文件复制到解压了的Base文件夹里面 管理员权限运行odbc_install.exe 配置...点击进去就能看见您安装得 数据源驱动程序 注意: 从网站上下载的驱动包版本必须是一致的; Windows10系统默认是X64的ODBC数据源,如果您需要执行32位得ODBC数据源程序您要进入文件目录中...位的) 解决:更换 odbc 数据源驱动 双击:控制面板\系统和安全\管理工具\ODBC 数据源(32 位)

    1.3K20

    C++通过ADO访问数据库的连接字符串

    参考链接: 连接两个字符串的C++程序 一、连接字符串获取方法  1、OLEDB驱动     新建一个***.txt重名为***.udl,双击运行udl文件弹出数据源配置对话框,配置好并测试连接成功以后点确定...2、ODBC驱动     新建一个***.txt重名为***.udl,双击运行udl文件弹出数据源配置对话框,选择OLEDB驱动程序时选择Microsoft OLE DB Provider for ODBC...Drivers,下一步,指定数据源时“使用连接字符串”,点编译,在“文件数据源”标签下单击“新建”,在弹出创建新数据源中选择要使用ODBC驱动,单击下一步,输入保存路径,单击下一步,完成。...Server=数据库实例名称,如果是远程其他电脑数据库,就使用机器名或IP地址 + 实例名。local表示本地数据库连接。  ...安装好后,通过数据源(ODBC)可以获取到连接字符串。

    2.3K00

    配置ODBC数据源

    它提供统一的使用方法给程序,程序如果使用ODBC操作实际数据库,不管后台数据库是DB2还是SQL Server,或者升级了,程序几乎都可以以不变应万变。        ...下面来大概叙述一下如何建立ODBC数据源连接。         ...一切就绪后,单击确定,ODBC数据源便配置成功,无论您哪种支持数据库访问的程序访问您的数据库都会轻松无阻哦!       ...在添加SQL Server数据库为例说明一下(创建一个文件DSN),在“创建新数据源”对话框中选择"SQL Server",下一步: ?...填写数据源名称,注意,此数据源名称即为代码中要连接数据库的字符串中的DSN文件名称:ConnectString = "FileDSN=student.dsn;UID=sa;PWD=password",点击

    6.3K40
    领券