char* szDesc;
int mlen;
szDesc=new char[512];
sprintf(szDesc,"DSN=networkstar?Server=localhost?DataBase=master?Trusted_Connection=yes?DESCRIPTION=IP data source?UID=sa?PWD=??");
mlen = strlen(szDesc);
for (int i=0; i<mlen; i++)
{
if (szDesc[i] == '?')
szDesc[i] = '\0';
} if (FALSE == SQLConfigDataSource( NULL, ODBC_ADD_DSN,"SQL Server",(LPCSTR)szDesc) )
AfxMessageBox("SQLConfigDataSource Failed");不管Trusted_Connection=yes加没加上,
一加上UID=sa PWD=空 就返回FALSE,如果不加则添加数据源成功,请问如何解决另外如何通过这个ODBC执行一个SQL脚本建一个TABLE
create database demo
on primary(....)
一个问题40分,谢谢了
{
// 打开数据库连接
if( conn.State != ConnectionState.Open)
conn.Open();
string sql = "CREATE DATABASE mydb ON PRIMARY"
+"(name=test_data, filename =
'C:\mysql\mydb_data.mdf', size=3,"
+"maxsize=5, filegrowth=10%)log on"
+"(name=mydbb_log,
filename='C:\mysql\mydb_log.ldf',size=3,"
+"maxsize=20,filegrowth=1)";
cmd = new SqlCommand(sql, conn);
try
{
cmd.ExecuteNonQuery();
}
catch(SqlException ae)
{
MessageBox.Show(ae.Message.ToString());
}
}
应该是:UID="" PWD=""吧
MSDN上说 是 UID 和 PWD 但是我只要加了这两个字段。
SQLConfigDataSource函数就返回FALSE,如何解决
第二个问题的我知道脚本怎么写,但是不知道怎么用这个ODBC去写
CString str;
CDatabase m_db;
str = _T("DSN=myDSN;UID=id;PWD=pwd");
if (!m_db.OpenEx(str, CDatabase::noOdbcDialog ) ){
AfxMessageBox("打开数据源失败");
}