问题如下,新建一个win32 dynamic -link library
在stdafx.h中导入#import "C:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF","adoEOF")在任意函数中加入连接数据库代码。首先测试连接SQL SERVER 2000
CoInitialize(NULL);
_ConnectionPtr conn;
conn.CreateInstance(__uuidof(Connection));
try{
conn->Open("Driver={SQL SERVER};Server=TANG;Uid=sa;PWD=;DataBase=membership","","",-1);
}
catch(_com_error & e)
{
MessageBox(NULL,"",e.ErrorMessage(),MB_OK);
}
CoUninitialize();
一切正常,在准备连接sybase
将上面代码的连接字符串修改, CoInitialize(NULL);
_ConnectionPtr conn;
conn.CreateInstance(__uuidof(Connection));
try{
conn->Open("Driver={SYBASE SYSTEM 11};Srvr=db-server;Uid=sa;Pwd=;","","",-1);
}
catch(_com_error & e)
{
MessageBox(NULL,"",e.ErrorMessage(),MB_OK);
}
CoUninitialize();准备连接sybase,调试时,发现在open时,停在
Loaded 'C:\Sybase\dll\nldecnet.dll', no matching symbolic information found.
Loaded 'C:\Sybase\dll\nlnwlink.dll', no matching symbolic information found.
Loaded 'C:\WINNT\system32\mswsock.dll', no matching symbolic information found.
不走了。
于是又在ODBC中建立一个数据源
连接改为conn->Open("Provider=MSDASQL.1;DSN=dsn1;UID=sa;PWD=","","",-1);
问题依旧用Sybase\bin\dsedit.exe测试一切正常
于是建立一个MFC对话框程序测试,同样在stdafx.h中加入#import "C:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF","adoEOF")在初始化中加入与上面相同的代码连接sybase 一切正常(无论用数据源还是远程连接)。问题出现了,如何在win32 Dynamic-link library 中正常连接sybase?
在stdafx.h中导入#import "C:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF","adoEOF")在任意函数中加入连接数据库代码。首先测试连接SQL SERVER 2000
CoInitialize(NULL);
_ConnectionPtr conn;
conn.CreateInstance(__uuidof(Connection));
try{
conn->Open("Driver={SQL SERVER};Server=TANG;Uid=sa;PWD=;DataBase=membership","","",-1);
}
catch(_com_error & e)
{
MessageBox(NULL,"",e.ErrorMessage(),MB_OK);
}
CoUninitialize();
一切正常,在准备连接sybase
将上面代码的连接字符串修改, CoInitialize(NULL);
_ConnectionPtr conn;
conn.CreateInstance(__uuidof(Connection));
try{
conn->Open("Driver={SYBASE SYSTEM 11};Srvr=db-server;Uid=sa;Pwd=;","","",-1);
}
catch(_com_error & e)
{
MessageBox(NULL,"",e.ErrorMessage(),MB_OK);
}
CoUninitialize();准备连接sybase,调试时,发现在open时,停在
Loaded 'C:\Sybase\dll\nldecnet.dll', no matching symbolic information found.
Loaded 'C:\Sybase\dll\nlnwlink.dll', no matching symbolic information found.
Loaded 'C:\WINNT\system32\mswsock.dll', no matching symbolic information found.
不走了。
于是又在ODBC中建立一个数据源
连接改为conn->Open("Provider=MSDASQL.1;DSN=dsn1;UID=sa;PWD=","","",-1);
问题依旧用Sybase\bin\dsedit.exe测试一切正常
于是建立一个MFC对话框程序测试,同样在stdafx.h中加入#import "C:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF","adoEOF")在初始化中加入与上面相同的代码连接sybase 一切正常(无论用数据源还是远程连接)。问题出现了,如何在win32 Dynamic-link library 中正常连接sybase?
Loaded 'C:\Sybase\dll\nlnwlink.dll', no matching symbolic information found.是不是你这两个DLL的版本有问题??
Loaded 'C:\Sybase\dll\nldecnet.dll', no matching symbolic information found.
Loaded 'C:\Sybase\dll\nlnwlink.dll', no matching symbolic information found.这本身只是说其间不包含调试信息而已。
而且,用MFC对话框连接一切正常呀。
#pragma warning(disable:4146)
#import "C:\Program Files\Common Files\System\ADO\msado15.dll" named_guids rename("EOF","adoEOF"), rename("BOF","adoBOF")
#pragma warning(default:4146)
using namespace ADODB;
Loaded 'xxxx.DLL', no matching symbolic information found. 是装入xxxx.dll动态库,但没有找到与其匹配的符号信息。他一般是在DEBUG的时候出现的!
不是出错误,而是LOAD这三个DLL时就停在那了。按F10没有反应,其它一切正常.