我做了以下代码,
import pyodbc
try:
pyodbc.connect('DRIVER={%s};SERVER=%s;DATABASE=%s;UID=%s;PWD=%s' % (driver, server, database, uid, password))
except pyodbc.Error, err:
logging.warn(err)
Run Code Online (Sandbox Code Playgroud)
我得到的错误消息格式是
('HY000', "[HY000] [MySQL][ODBC 5.1 Driver]Access denied for user 'root'@'192.168.2.27' (using password: YES) (1045) (SQLDriverConnect)")
Run Code Online (Sandbox Code Playgroud)
我想只收到错误的消息部分即
Access denied for user 'root'@'192.168.2.27'(using password: YES)
Run Code Online (Sandbox Code Playgroud)
我不知道我是否可以特别注意错误,找不到驱动程序,主机关闭等等.
我也尝试捕获错误:
except pyodbc.OperationalError, err:
logging.warn(err)
except pyodbc.DataError, err:
logging.warn(err)
except pyodbc.IntegrityError, err:
logging.warn(err)
except pyodbc.ProgrammingError, err:
logging.warn(err)
except pyodbc.NotSupportedError, err:
logging.warn(err)
except pyodbc.DatabaseError, err:
logging.warn(err)
except pyodbc.Error, err:
logging.warn(err)
Run Code Online (Sandbox Code Playgroud)
但最后一个总是捕获错误.
Fruthermore我看到pyodbc.Error.message总是空的.我怎样才能在错误中得到消息.
谢谢
在LDAP身份验证的情况下,通常用于身份验证的参数是什么.我想使用DN对于通过ldap登录的用户来说会很头疼,因为它太大而无法记住.如何使用uid或sAMAccountName进行身份验证的选项在我的实现中,我检索相应的uid或sAMAccountName的dn并继续进行身份验证.
我走的正确吗?
我使用LDAP模块的蟒蛇连接到LDAP服务器.我能够查询数据库,但我不知道如何检索数据库中存在的字段,以便我可以提前通知用户查询数据库,告诉他他试图访问的字段不在数据库中.
例如,如果存在的字段是公正的
cn
memberOf
Run Code Online (Sandbox Code Playgroud)
如果用户尝试使用过滤器查询数据库
cn and memberOf and notcontained
Run Code Online (Sandbox Code Playgroud)
我应该能够知道notbtained属性不在dabase模式中.
我怎样才能做到这一点.
谢谢.
我试图在ubuntu中使用pyodbc查询ODBC兼容的数据库.为此,我安装了驱动程序(比如mysql-odbc-driver).安装后,在/usr/share/libmyodbc/odbcinst.ini位置创建带有配置的odbcinst.ini文件 当我尝试使用我的pyodbc连接代码连接到数据库时,我收到一个找不到驱动程序的错误消息.现在,当我将文件的内容复制到/etc/odbcinst.ini时,它可以工作!
这意味着pyodbc在文件/etc/odbcinst.ini中搜索驱动程序信息.
如何更改在odbcinst.ini文件中搜索驱动程序信息的位置
谢谢.
我有一个关于使用C中的MPI库进行通信的问题.这是我的示例代码:
#include <stdio.h>
#include <stdlib.h>
#include <mpi.h>
int main (int argc, char **argv) {
// Initialize the MPI Environment
MPI_Init (&argc, &argv);
int world_size;
MPI_Comm_size (MPI_COMM_WORLD, &world_size);
int world_rank;
MPI_Comm_rank (MPI_COMM_WORLD, &world_rank);
int workers = world_size - 1;
if (world_rank == 0) {
}
else if (world_rank == 1) {
int to_recv;
int to_send = world_rank;
MPI_Request request1, request2;
MPI_Irecv (&to_recv, sizeof (int), MPI_INT, world_rank + 1, 0, MPI_COMM_WORLD, &request1);
MPI_Isend (&to_send, sizeof (int), MPI_INT, world_rank + 1, 0, MPI_COMM_WORLD, …Run Code Online (Sandbox Code Playgroud)