标签: odbc

在WIndows上测试ODBC的最简单方法

使用unixODBC,您可以使用名为"isql"的简单命令行实用程序来测试某些查询的连接和权限.无需编写额外的代码或安装libs或膨胀的程序,有没有一种简单的方法来打开X数据源发送一些sql命令并完成它?

在命令行上执行此操作将更可取.

odbc

35
推荐指数
4
解决办法
14万
查看次数

无法打开lib'用于SQL Server的ODBC驱动程序13'?Sym链接问题?

当我尝试使用pyodbc(在mac上)连接到sql server数据库时:

import pyodbc

server = '####'
database = '####'
username = '####@####'
password = '#####'
driver='{ODBC Driver 13 for SQL Server}'

pyodbc.connect('DRIVER='+driver+';SERVER='+server+';PORT=1443;DATABASE='+database+';UID='+username+';PWD='+password)
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

错误:('01000',"[01000] [unixODBC] [驱动程序管理器]无法打开lib'用于SQL Server的ODBC驱动程序13':找不到文件(0)(SQLDriverConnect)")

当我在实际的驱动程序位置路径时:

driver='/usr/local/lib/libmsodbcsql.13.dylib'
Run Code Online (Sandbox Code Playgroud)

它开始工作了!

odbcinst.ini看起来像这样:

[ODBC Driver 13 for SQL Server]
Description=Microsoft ODBC Driver 13 for SQL Server
Driver=/usr/local/lib/libmsodbcsql.13.dylib
UsageCount=1
Run Code Online (Sandbox Code Playgroud)

如何让我参考driver='{ODBC Driver 13 for SQL Server}'再次开始工作?

我最初使用本指南来安装驱动程序.如果有帮助的话,我在Mac Sierra上使用anaconda?

sql-server odbc pyodbc python-3.x anaconda

35
推荐指数
6
解决办法
5万
查看次数

Excel:使用单元格值作为SQL查询的参数

我正在使用MS Excel通过ODBC从MySQL数据库中获取数据.
我使用SQL查询成功获取数据.但现在我想要查询参数.
所以我想知道是否可以使用单元格值(电子表格单元格)作为此类查询的参数.
例如,对于此查询:

select name from user where id=1
Run Code Online (Sandbox Code Playgroud)

我想从电子表格中的单元格D4中获取id值.

这是参数化查询的正确方法吗?我该怎么办?

谢谢.

excel odbc

33
推荐指数
2
解决办法
18万
查看次数

将PHP连接到IBM i(AS/400)

我有一个即将到来的项目,我需要将我们的网站(PHP5/Apache 1.3/OpenBSD 4.1)连接到运行在带有OS400 V5R3的iSeries上的后端系统,以便我可以访问存储在那里的一些表.我已经做了一些检查,但遇到了一些障碍.

从我所看到的,IBM的DB2扩展和DB2软件只能在Linux下运行.我已经尝试用IBM的所有软件编译扩展,甚至尝试了他们的预编译ibm_db2扩展而没有运气.IBM只支持Linux,所以我在内核中打开了Linux仿真,但似乎没有任何帮助.

如果有人碰巧在OpenBSD下本地运行一切都会很棒,但我认为我可能要做的就是在安装了DB2的情况下建立第二台运行CentOS的服务器(最有可能通过ZendCore for IBM,因为它似乎可以完成所有操作)这对我来说)和驱动程序,以便我可以设置一个小的事务服务器,我可以发布,并获得我需要的DB2数据的JSON表示.

第二种选择是否有点矫枉过正,还是其他人有更好的想法?

php database db2 odbc ibm-midrange

32
推荐指数
1
解决办法
7952
查看次数

SELECT语句后需要行计数:什么是最佳SQL方法?

我正在尝试从单个表中选择一个列(没有连接),我需要计算行数,理想情况是在开始检索行之前.我已经提出了两种方法来提供我需要的信息.

方法1:

SELECT COUNT( my_table.my_col ) AS row_count
  FROM my_table
 WHERE my_table.foo = 'bar'
Run Code Online (Sandbox Code Playgroud)

然后

SELECT my_table.my_col
  FROM my_table
 WHERE my_table.foo = 'bar'
Run Code Online (Sandbox Code Playgroud)

方法2

SELECT my_table.my_col, ( SELECT COUNT ( my_table.my_col )
                            FROM my_table
                           WHERE my_table.foo = 'bar' ) AS row_count
  FROM my_table
 WHERE my_table.foo = 'bar'
Run Code Online (Sandbox Code Playgroud)

我这样做是因为我的SQL驱动程序(SQL Native Client 9.0)不允许我在SELECT语句中使用SQLRowCount,但我需要知道结果中的行数,以便在为其分配数据之前分配数组.遗憾的是,在我的程序的这个方面,使用动态分配的容器不是一个选项.

我担心可能会出现以下情况:

  • 发生SELECT计数
  • 发生另一条指令,添加或删除一行
  • 发生数据SELECT,突然数组的大小错误.
    - 在更糟糕的情况下,这将尝试写入超出数组限制的数据并使我的程序崩溃.

方法2是否禁止此问题?

此外,两种方法中的一种会更快吗?如果是这样,哪个?

最后,是否有一个更好的方法我应该考虑(也许是一种方法来指示驱动程序使用SQLRowCount返回SELECT结果中的行数?)

对于那些问的人,我使用的是Native C++和上面提到的SQL驱动程序(由Microsoft提供).

sql odbc sqlncli

32
推荐指数
2
解决办法
22万
查看次数

在Windows上设置PostgreSQL ODBC

我有最新的64位版PostgreSQL.我正在运行Win 7 64位.我在安装PG时安装了ODBC驱动程序(通过初始安装程序),并从http://www.postgresql.org/ftp/odbc/versions/msi/将其升级到最新版本.

但是,当我转到ODBC控制面板并尝试添加用户DSN时,PostgreSQL未列为服务器.

我按照这里给出的指示,但我注意到链接已过时.

postgresql odbc database-connection driver

32
推荐指数
3
解决办法
12万
查看次数

iODBC和unixODBC之间有什么功能差异?

有两个主要的开源平台独立实现ODBC.它是iODBCunixODBC.

考虑到Unix作为ODBC用户平台和功能方面,这两种实现之间真正的实际区别是什么?

unix odbc unixodbc iodbc

30
推荐指数
2
解决办法
7981
查看次数

MySQL的ANSI和Unicode驱动程序之间的区别

在Windows上的ODBC(64位)下选择数据源时,我得到两个可用的MySQL数据库选项:

  • MySQL ODBC 5.3 ANSI驱动程序
  • MySQL ODBC 5.3 Unicode驱动程序

这两者有什么区别?

mysql database odbc driver difference

29
推荐指数
2
解决办法
3万
查看次数

错误:[Microsoft] [ODBC驱动程序管理器]找不到数据源名称,并且未指定默认驱动程序

将.net连接到sybase服务器时出现此错误消息:

[Microsoft] [ODBC驱动程序管理器]未找到数据源名称且未指定默认驱动程序

这在以前工作得很好.具有相同细节的系统DSN通过vs.net工作和数据连接也可以工作.

我正在使用vs.net 2005.

有什么建议?

.net odbc datasource visual-studio-2005

28
推荐指数
2
解决办法
19万
查看次数

在R中从MySQL获取UTF-8文本返回"????"

我试图从R中获取MySQL数据库中的UTF-8文本.我在OS X上运行R(通过GUI和命令行尝试),默认语言环境是en_US.UTF-8,没有无论我尝试什么,查询结果显示"?" 对于所有非ASCII字符.

我尝试过设置options(encoding='UTF-8'),DBMSencoding='UTF-8'当通过ODBC连接时,Encoding(res$str) <- 'UTF-8'在获取结果后设置,以及每个的'utf8'变体,都无济于事.从命令行运行查询mysql客户端正确显示结果.

我完全难过了.任何想法为什么它不工作,或我应该尝试的其他事情?

这是一个相当小的测试用例:

$ mysql -u root
mysql> CREATE DATABASE test;
mysql> USE test;
mysql> CREATE TABLE test (str VARCHAR(10)) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Query OK, 0 rows affected (0.02 sec)

mysql> INSERT INTO test (str) VALUES ('?????');
Query OK, 1 row affected (0.00 sec)

mysql> select * from test;
+-----------------+
| str             |
+-----------------+
| ?????      |
+-----------------+
1 row in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)

使用RODBC和RMySQL查询R中的表显示"?????" 对于str列:

> con <- …
Run Code Online (Sandbox Code Playgroud)

mysql odbc r utf-8 character-encoding

28
推荐指数
3
解决办法
1万
查看次数