SQL连接字符串一步步调试
sql connectionstring debug step by step?
你好,我希望这是我最后一篇关于sql connectionsstrings....
我有一个用VS2010Express编写的win32console应用程序,我尝试连接我的SQL服务器。我想我做的一切都是正确的,"唯一"的问题是连接字符串。谁能确认一下代码中没有其他大的错误吗?
关于连接字符串,我已经尝试和尝试....一个站点建议您可以通过创建连接来获得一个有效的字符串。在桌面上打开Udl文件,双击它并通过对话框工作。当在文本编辑器中再次打开它时,找到了正确的连接字符串。在我的例子中是:
用户ID=Test;初始目录=Stackhoover;数据源=PETERPANSQLEXPRESS
也不工作....有没有一种方法来"调试"字符串?看看哪个部分是错误的,例如"错误的pwd"或"服务器未找到"?防火墙现在是关着的,所以这不是问题。_hr返回"E_Fail"调试器进入msado15。tli line1271
谢谢你的帮助!编码快乐!
#include "stdafx.h"
void HandleError(HRESULT)
{
MessageBox( NULL, L"ERROR", L"XX!",MB_ICONEXCLAMATION |MB_RETRYCANCEL);
}
int _tmain(int argc, _TCHAR* argv[])
{
HRESULT hr; //http://en.wikipedia.org/wiki/HRESULT
//creating a connection object
USEADO::_ConnectionPtr connection;
//create a recordset object
USEADO::_RecordsetPtr recordset;
// Initialize COM
if(FAILED(hr = CoInitialize(NULL)))
{
HandleError(hr);
return hr;
}
if(FAILED(hr = connection.CreateInstance(__uuidof(USEADO::Connection))))
{
HandleError(hr);
return hr;
}
if(FAILED(hr = recordset.CreateInstance(__uuidof(USEADO::Recordset))))
{
HandleError(hr);
return hr;
}
connection->CursorLocation = USEADO::adUseServer; //http://dev.mysql.com/tech-resources/articles/vb-cursors-and-locks.html
//adUseClient;
//Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;
connection->Open(L"Data Source=PETERPANSQLEXPRESS;Initial Catalog=Stackhoover; User Id=Test; Password = Test", L"", L"", USEADO::adConnectUnspecified);
//connection->Open(L"Provider=SQLOLEDB.1;Persist Security Info=False;User ID=Test;Initial Catalog=Stackhoover;Data Source=PETERPANSQLEXPRESS", L"Test", L"Test", USEADO::adConnectUnspecified);
//DRIVER=SQL Native Client;SERVER=.SQLExpress;Trusted_Connection=Yes;Initial Catalog=ADOTest;
//connection->Open(L"DRIVER=SQL Native Client;SERVER=PETERPANSQLEXPRESS;Trusted_Connection=Yes;Initial Catalog=Stackhoover;", L"", L"", USEADO::adConnectUnspecified);
return 0;
}
我stdafx.h #pragma once
#import "C:ProgramDelade filerSystemadomsado15.dll" rename_namespace("USEADO"),rename("EOF","EndOfFile")
// Define ADO Namespace as global
using namespace USEADO;
#include "targetver.h"
#include <stdio.h>
#include <tchar.h>
需要转义反斜杠,因此:
connection->Open(L"Data Source=PETERPANSQLEXPRESS;Initial Catalog=Stackhoover; User Id=Test; Password = Test", L"", L"", USEADO::adConnectUnspecified);
应:connection->Open(L"Data Source=PETERPAN\SQLEXPRESS;Initial Catalog=Stackhoover; User Id=Test; Password = Test", L"", L"", USEADO::adConnectUnspecified);
如果你有User ID
,那么你需要password
。我也会忽略Persist Security Info
。你还需要一个尾随的;
。参见ConnectionStrings.com和MS页面
我希望一个连接字符串看起来更像这些取决于你是否使用SQL Server登录或Windows身份验证
提供者= SQLOLEDB.1;用户ID =测试;密码= foo;数据库= Stackhoover;服务器= PETERPAN SQLEXPRESS;
提供者= SQLOLEDB.1;综合安全= true;数据库= Stackhoover;服务器= PETERPAN SQLEXPRESS;
相关文章:
- 维护unordered_map但同时每一步都需要最低的映射值
- 如何在最后一步使用CryptDecrypt解决NTE_BAD_DATA
- 如何在 C++ 中返回到上一步
- 如何一步一步地正确解释此代码?(编程新手)
- 调试 - 单步执行 (F11) 不会直接转到函数
- 通过GL_FLOAT,GL_UNSIGNED_INT一步
- 调试一种方法,用于使用C 中的OpenCV从视频中查找帧的平均帧
- 将隐式促销添加到复杂类,最后一步
- 如何在Linux / Windows操作系统上使用文件*.cpp一步编译下面的代码
- 检查下一步是检查员
- 改进malloc()算法的下一步是什么
- 如何在c++骰子游戏中存储第一个值,并在下一步进行比较
- 如何一步一步地遍历目录树
- 有没有一个调试器可以让我在代码中后退一步
- 若在下一步中对象被破坏,为什么不自动移动呢
- 第4章 斯特劳斯特鲁普钻头一个具有挑战性的一步(至少对我来说!
- 一步一步寻找选择排序大θ符号的过程
- 两步到一步的初始化和错误处理
- 带有下一步/后退按钮的Qt对话框/小部件
- 无法理解此代码的最后一步