Hi all,
I am newbie in all the stuff about xml importing into sql server.
What I try to do is simple. It is take an xml file and drop it into a
table. I am using VS2005, SQLXML 4.0 and SQL Server 2000 (I think
there is no problem of compatibility)
When I run my program using the SQLXMLBulkLoad4Class class,
everythings seems to run perfect and there is no errors. But when I
check my DB there isnt any record inserted.
My schema is:
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:sql="urn:schemas-microsoft-com:mapping-schema">
<xsd:element name="table1">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="ele1" type="xsd:string"/>
<xsd:element name="ele2" type="xsd:string"/>
<xsd:element name="ele3" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
My xml:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<ENGROLE>
<EROLE>
<ele1>dieg01p</ele1>
<ele2>IE01</ele2>
<ele3>IEL01</ele3>
</EROLE>
Hello,
This happens because your xml doesn't match the schema definition.
You have to update the schema as follows:
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:sql="urn:schemas-microsoft-com:mapping-schema">
<xsd:element name="ENGROLE" sql:isconstant="true">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="EROLE" sql:relation="Table1">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="ele1" type="xsd:string"/>
<xsd:element name="ele2" type="xsd:string"/>
<xsd:element name="ele3" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
I hope this helps.
Regards,
Monica Frintu
"VicToro" wrote:
> Hi all,
> I am newbie in all the stuff about xml importing into sql server.
> What I try to do is simple. It is take an xml file and drop it into a
> table. I am using VS2005, SQLXML 4.0 and SQL Server 2000 (I think
> there is no problem of compatibility)
> When I run my program using the SQLXMLBulkLoad4Class class,
> everythings seems to run perfect and there is no errors. But when I
> check my DB there isnt any record inserted.
> My schema is:
> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:sql="urn:schemas-microsoft-com:mapping-schema">
> <xsd:element name="table1">
> <xsd:complexType>
> <xsd:sequence>
> <xsd:element name="ele1" type="xsd:string"/>
> <xsd:element name="ele2" type="xsd:string"/>
> <xsd:element name="ele3" type="xsd:string"/>
> </xsd:sequence>
> </xsd:complexType>
> </xsd:element>
> </xsd:schema>
>
> My xml:
> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
> <ENGROLE>
> <EROLE>
> <ele1>dieg01p</ele1>
> <ele2>IE01</ele2>
> <ele3>IEL01</ele3>
> </EROLE>
> .
> .
> .
> </ENGROLE>
>
> and my table definition where I try to insert:
> CREATE TABLE [dbo].[table1](
> [ele1] [nvarchar](255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
> [ele2] [nvarchar](255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
> [ele3] [nvarchar](255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
> ) ON [PRIMARY]
> As you see it is very simple, but I cannot get it work. Can anyone
> give a hand?
> Thank!!
>
Showing posts with label stuff. Show all posts
Showing posts with label stuff. Show all posts
Wednesday, March 28, 2012
Problem with bulk insert
Hi all,
I am newbie in all the stuff about xml importing into sql server.
What I try to do is simple. It is take an xml file and drop it into a
table. I am using VS2005, SQLXML 4.0 and SQL Server 2000 (I think
there is no problem of compatibility)
When I run my program using the SQLXMLBulkLoad4Class class,
everythings seems to run perfect and there is no errors. But when I
check my DB there isnt any record inserted.
My schema is:
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:sql="urn:schemas-microsoft-com:mapping-schema">
<xsd:element name="table1">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="ele1" type="xsd:string"/>
<xsd:element name="ele2" type="xsd:string"/>
<xsd:element name="ele3" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
My xml:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<ENGROLE>
<EROLE>
<ele1>dieg01p</ele1>
<ele2>IE01</ele2>
<ele3>IEL01</ele3>
</EROLE>Hello,
This happens because your xml doesn't match the schema definition.
You have to update the schema as follows:
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:sql="urn:schemas-microsoft-com:mapping-schema">
<xsd:element name="ENGROLE" sql:isconstant="true">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="EROLE" sql:relation="Table1">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="ele1" type="xsd:string"/>
<xsd:element name="ele2" type="xsd:string"/>
<xsd:element name="ele3" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
I hope this helps.
Regards,
--
Monica Frintu
"VicToro" wrote:
> Hi all,
> I am newbie in all the stuff about xml importing into sql server.
> What I try to do is simple. It is take an xml file and drop it into a
> table. I am using VS2005, SQLXML 4.0 and SQL Server 2000 (I think
> there is no problem of compatibility)
> When I run my program using the SQLXMLBulkLoad4Class class,
> everythings seems to run perfect and there is no errors. But when I
> check my DB there isnt any record inserted.
> My schema is:
> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:sql="urn:schemas-microsoft-com:mapping-schema">
> <xsd:element name="table1">
> <xsd:complexType>
> <xsd:sequence>
> <xsd:element name="ele1" type="xsd:string"/>
> <xsd:element name="ele2" type="xsd:string"/>
> <xsd:element name="ele3" type="xsd:string"/>
> </xsd:sequence>
> </xsd:complexType>
> </xsd:element>
> </xsd:schema>
>
> My xml:
> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
> <ENGROLE>
> <EROLE>
> <ele1>dieg01p</ele1>
> <ele2>IE01</ele2>
> <ele3>IEL01</ele3>
> </EROLE>
> .
> .
> .
> </ENGROLE>
>
> and my table definition where I try to insert:
> CREATE TABLE [dbo].[table1](
> [ele1] [nvarchar](255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
> [ele2] [nvarchar](255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
> [ele3] [nvarchar](255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
> ) ON [PRIMARY]
> As you see it is very simple, but I cannot get it work. Can anyone
> give a hand?
> Thank!!
>
I am newbie in all the stuff about xml importing into sql server.
What I try to do is simple. It is take an xml file and drop it into a
table. I am using VS2005, SQLXML 4.0 and SQL Server 2000 (I think
there is no problem of compatibility)
When I run my program using the SQLXMLBulkLoad4Class class,
everythings seems to run perfect and there is no errors. But when I
check my DB there isnt any record inserted.
My schema is:
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:sql="urn:schemas-microsoft-com:mapping-schema">
<xsd:element name="table1">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="ele1" type="xsd:string"/>
<xsd:element name="ele2" type="xsd:string"/>
<xsd:element name="ele3" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
My xml:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<ENGROLE>
<EROLE>
<ele1>dieg01p</ele1>
<ele2>IE01</ele2>
<ele3>IEL01</ele3>
</EROLE>Hello,
This happens because your xml doesn't match the schema definition.
You have to update the schema as follows:
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:sql="urn:schemas-microsoft-com:mapping-schema">
<xsd:element name="ENGROLE" sql:isconstant="true">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="EROLE" sql:relation="Table1">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="ele1" type="xsd:string"/>
<xsd:element name="ele2" type="xsd:string"/>
<xsd:element name="ele3" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
I hope this helps.
Regards,
--
Monica Frintu
"VicToro" wrote:
> Hi all,
> I am newbie in all the stuff about xml importing into sql server.
> What I try to do is simple. It is take an xml file and drop it into a
> table. I am using VS2005, SQLXML 4.0 and SQL Server 2000 (I think
> there is no problem of compatibility)
> When I run my program using the SQLXMLBulkLoad4Class class,
> everythings seems to run perfect and there is no errors. But when I
> check my DB there isnt any record inserted.
> My schema is:
> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:sql="urn:schemas-microsoft-com:mapping-schema">
> <xsd:element name="table1">
> <xsd:complexType>
> <xsd:sequence>
> <xsd:element name="ele1" type="xsd:string"/>
> <xsd:element name="ele2" type="xsd:string"/>
> <xsd:element name="ele3" type="xsd:string"/>
> </xsd:sequence>
> </xsd:complexType>
> </xsd:element>
> </xsd:schema>
>
> My xml:
> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
> <ENGROLE>
> <EROLE>
> <ele1>dieg01p</ele1>
> <ele2>IE01</ele2>
> <ele3>IEL01</ele3>
> </EROLE>
> .
> .
> .
> </ENGROLE>
>
> and my table definition where I try to insert:
> CREATE TABLE [dbo].[table1](
> [ele1] [nvarchar](255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
> [ele2] [nvarchar](255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
> [ele3] [nvarchar](255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
> ) ON [PRIMARY]
> As you see it is very simple, but I cannot get it work. Can anyone
> give a hand?
> Thank!!
>
Wednesday, March 21, 2012
Problem with 64-bit ODBC code and SQLConnect and SQLWCHAR
Hi all,
I'm trying to test some 64-bit ODBC stuff and I'm running into a slight
problem. First, my configuration.
Windows XP x64
VS.Net 2005 Beta 2
SQL Server 2005 CTP
So, I have built and tested other 64 bit apps so I know that things are all
working, but now I'm trying to test ODBC and I'm running into a problem. I
have the following code :
SQLCHAR Database[MAXBUFLEN]; // = "Cloud";
SQLCHAR User[MAXBUFLEN]; // = "fred";
SQLCHAR Pass[MAXBUFLEN]; // = "me";
sprintf ((char *)Database, "%s", "Cloud");
sprintf ((char *)User, "%s", "fred");
sprintf ((char *)Pass, "%s", "me");
retcode = SQLConnect(hdbc1, Database, SQL_NTS,
User, SQL_NTS, Pass, SQL_NTS);
If I execute this code as part of a little test program on my 32 bit box, it
connects just fine. Now, to get this code to compile on the 64-bit box, I
have to cast the string variable with (SQLWCHAR *) like this.
retcode = SQLConnect(hdbc1, (SQLWCHAR *)Database, SQL_NTS,
(SQLWCHAR *)User, SQL_NTS, (SQLWCHAR *)Pass, SQL_NTS);
So it compiles, but when I run it, I get an error back. If I take a look
at what (SQLWCHAR *)Database produces, its some unreadable junk. If I turn
on ODBC logging and then after the SQLConnect call take a look at the log,
where I should see the database for instance, I see just random characters.
So, what gives ? Do I have to do something special when working with
SQLWCHAR ?
Thanks for any help anyone can give me.
Nick
Hi
SQL Server 2005 CTP questions to the community newsgroups:
http://communities.microsoft.com/new...r2005&slcid=us
--
Mike Epprecht, Microsoft SQL Server MVP
Zurich, Switzerland
IM: mike@.epprecht.net
MVP Program: http://www.microsoft.com/mvp
Blog: http://www.msmvps.com/epprecht/
"Nick Palmer" <nick@.kcicorp.com> wrote in message
news:11i480ff7qiikf9@.corp.supernews.com...
> Hi all,
> I'm trying to test some 64-bit ODBC stuff and I'm running into a slight
> problem. First, my configuration.
> Windows XP x64
> VS.Net 2005 Beta 2
> SQL Server 2005 CTP
> So, I have built and tested other 64 bit apps so I know that things are
> all
> working, but now I'm trying to test ODBC and I'm running into a problem.
> I
> have the following code :
> SQLCHAR Database[MAXBUFLEN]; // = "Cloud";
> SQLCHAR User[MAXBUFLEN]; // = "fred";
> SQLCHAR Pass[MAXBUFLEN]; // = "me";
> sprintf ((char *)Database, "%s", "Cloud");
> sprintf ((char *)User, "%s", "fred");
> sprintf ((char *)Pass, "%s", "me");
> retcode = SQLConnect(hdbc1, Database, SQL_NTS,
> User, SQL_NTS, Pass, SQL_NTS);
> If I execute this code as part of a little test program on my 32 bit box,
> it
> connects just fine. Now, to get this code to compile on the 64-bit box, I
> have to cast the string variable with (SQLWCHAR *) like this.
> retcode = SQLConnect(hdbc1, (SQLWCHAR *)Database, SQL_NTS,
> (SQLWCHAR *)User, SQL_NTS, (SQLWCHAR *)Pass, SQL_NTS);
> So it compiles, but when I run it, I get an error back. If I take a look
> at what (SQLWCHAR *)Database produces, its some unreadable junk. If I
> turn
> on ODBC logging and then after the SQLConnect call take a look at the log,
> where I should see the database for instance, I see just random
> characters.
> So, what gives ? Do I have to do something special when working with
> SQLWCHAR ?
> Thanks for any help anyone can give me.
> Nick
>
I'm trying to test some 64-bit ODBC stuff and I'm running into a slight
problem. First, my configuration.
Windows XP x64
VS.Net 2005 Beta 2
SQL Server 2005 CTP
So, I have built and tested other 64 bit apps so I know that things are all
working, but now I'm trying to test ODBC and I'm running into a problem. I
have the following code :
SQLCHAR Database[MAXBUFLEN]; // = "Cloud";
SQLCHAR User[MAXBUFLEN]; // = "fred";
SQLCHAR Pass[MAXBUFLEN]; // = "me";
sprintf ((char *)Database, "%s", "Cloud");
sprintf ((char *)User, "%s", "fred");
sprintf ((char *)Pass, "%s", "me");
retcode = SQLConnect(hdbc1, Database, SQL_NTS,
User, SQL_NTS, Pass, SQL_NTS);
If I execute this code as part of a little test program on my 32 bit box, it
connects just fine. Now, to get this code to compile on the 64-bit box, I
have to cast the string variable with (SQLWCHAR *) like this.
retcode = SQLConnect(hdbc1, (SQLWCHAR *)Database, SQL_NTS,
(SQLWCHAR *)User, SQL_NTS, (SQLWCHAR *)Pass, SQL_NTS);
So it compiles, but when I run it, I get an error back. If I take a look
at what (SQLWCHAR *)Database produces, its some unreadable junk. If I turn
on ODBC logging and then after the SQLConnect call take a look at the log,
where I should see the database for instance, I see just random characters.
So, what gives ? Do I have to do something special when working with
SQLWCHAR ?
Thanks for any help anyone can give me.
Nick
Hi
SQL Server 2005 CTP questions to the community newsgroups:
http://communities.microsoft.com/new...r2005&slcid=us
--
Mike Epprecht, Microsoft SQL Server MVP
Zurich, Switzerland
IM: mike@.epprecht.net
MVP Program: http://www.microsoft.com/mvp
Blog: http://www.msmvps.com/epprecht/
"Nick Palmer" <nick@.kcicorp.com> wrote in message
news:11i480ff7qiikf9@.corp.supernews.com...
> Hi all,
> I'm trying to test some 64-bit ODBC stuff and I'm running into a slight
> problem. First, my configuration.
> Windows XP x64
> VS.Net 2005 Beta 2
> SQL Server 2005 CTP
> So, I have built and tested other 64 bit apps so I know that things are
> all
> working, but now I'm trying to test ODBC and I'm running into a problem.
> I
> have the following code :
> SQLCHAR Database[MAXBUFLEN]; // = "Cloud";
> SQLCHAR User[MAXBUFLEN]; // = "fred";
> SQLCHAR Pass[MAXBUFLEN]; // = "me";
> sprintf ((char *)Database, "%s", "Cloud");
> sprintf ((char *)User, "%s", "fred");
> sprintf ((char *)Pass, "%s", "me");
> retcode = SQLConnect(hdbc1, Database, SQL_NTS,
> User, SQL_NTS, Pass, SQL_NTS);
> If I execute this code as part of a little test program on my 32 bit box,
> it
> connects just fine. Now, to get this code to compile on the 64-bit box, I
> have to cast the string variable with (SQLWCHAR *) like this.
> retcode = SQLConnect(hdbc1, (SQLWCHAR *)Database, SQL_NTS,
> (SQLWCHAR *)User, SQL_NTS, (SQLWCHAR *)Pass, SQL_NTS);
> So it compiles, but when I run it, I get an error back. If I take a look
> at what (SQLWCHAR *)Database produces, its some unreadable junk. If I
> turn
> on ODBC logging and then after the SQLConnect call take a look at the log,
> where I should see the database for instance, I see just random
> characters.
> So, what gives ? Do I have to do something special when working with
> SQLWCHAR ?
> Thanks for any help anyone can give me.
> Nick
>
Problem with 64-bit ODBC code and SQLConnect and SQLWCHAR
Hi all,
I'm trying to test some 64-bit ODBC stuff and I'm running into a slight
problem. First, my configuration.
Windows XP x64
VS.Net 2005 Beta 2
SQL Server 2005 CTP
So, I have built and tested other 64 bit apps so I know that things are all
working, but now I'm trying to test ODBC and I'm running into a problem. I
have the following code :
SQLCHAR Database[MAXBUFLEN]; // = "Cloud";
SQLCHAR User[MAXBUFLEN]; // = "fred";
SQLCHAR Pass[MAXBUFLEN]; // = "me";
sprintf ((char *)Database, "%s", "Cloud");
sprintf ((char *)User, "%s", "fred");
sprintf ((char *)Pass, "%s", "me");
retcode = SQLConnect(hdbc1, Database, SQL_NTS,
User, SQL_NTS, Pass, SQL_NTS);
If I execute this code as part of a little test program on my 32 bit box, it
connects just fine. Now, to get this code to compile on the 64-bit box, I
have to cast the string variable with (SQLWCHAR *) like this.
retcode = SQLConnect(hdbc1, (SQLWCHAR *)Database, SQL_NTS,
(SQLWCHAR *)User, SQL_NTS, (SQLWCHAR *)Pass, SQL_NTS);
So it compiles, but when I run it, I get an error back. If I take a look
at what (SQLWCHAR *)Database produces, its some unreadable junk. If I turn
on ODBC logging and then after the SQLConnect call take a look at the log,
where I should see the database for instance, I see just random characters.
So, what gives ? Do I have to do something special when working with
SQLWCHAR ?
Thanks for any help anyone can give me.
NickHi
SQL Server 2005 CTP questions to the community newsgroups:
http://communities.microsoft.com/ne...lcid=us
--
Mike Epprecht, Microsoft SQL Server MVP
Zurich, Switzerland
IM: mike@.epprecht.net
MVP Program: http://www.microsoft.com/mvp
Blog: http://www.msmvps.com/epprecht/
"Nick Palmer" <nick@.kcicorp.com> wrote in message
news:11i480ff7qiikf9@.corp.supernews.com...
> Hi all,
> I'm trying to test some 64-bit ODBC stuff and I'm running into a slight
> problem. First, my configuration.
> Windows XP x64
> VS.Net 2005 Beta 2
> SQL Server 2005 CTP
> So, I have built and tested other 64 bit apps so I know that things are
> all
> working, but now I'm trying to test ODBC and I'm running into a problem.
> I
> have the following code :
> SQLCHAR Database[MAXBUFLEN]; // = "Cloud";
> SQLCHAR User[MAXBUFLEN]; // = "fred";
> SQLCHAR Pass[MAXBUFLEN]; // = "me";
> sprintf ((char *)Database, "%s", "Cloud");
> sprintf ((char *)User, "%s", "fred");
> sprintf ((char *)Pass, "%s", "me");
> retcode = SQLConnect(hdbc1, Database, SQL_NTS,
> User, SQL_NTS, Pass, SQL_NTS);
> If I execute this code as part of a little test program on my 32 bit box,
> it
> connects just fine. Now, to get this code to compile on the 64-bit box, I
> have to cast the string variable with (SQLWCHAR *) like this.
> retcode = SQLConnect(hdbc1, (SQLWCHAR *)Database, SQL_NTS,
> (SQLWCHAR *)User, SQL_NTS, (SQLWCHAR *)Pass, SQL_NTS);
> So it compiles, but when I run it, I get an error back. If I take a look
> at what (SQLWCHAR *)Database produces, its some unreadable junk. If I
> turn
> on ODBC logging and then after the SQLConnect call take a look at the log,
> where I should see the database for instance, I see just random
> characters.
> So, what gives ? Do I have to do something special when working with
> SQLWCHAR ?
> Thanks for any help anyone can give me.
> Nick
>
I'm trying to test some 64-bit ODBC stuff and I'm running into a slight
problem. First, my configuration.
Windows XP x64
VS.Net 2005 Beta 2
SQL Server 2005 CTP
So, I have built and tested other 64 bit apps so I know that things are all
working, but now I'm trying to test ODBC and I'm running into a problem. I
have the following code :
SQLCHAR Database[MAXBUFLEN]; // = "Cloud";
SQLCHAR User[MAXBUFLEN]; // = "fred";
SQLCHAR Pass[MAXBUFLEN]; // = "me";
sprintf ((char *)Database, "%s", "Cloud");
sprintf ((char *)User, "%s", "fred");
sprintf ((char *)Pass, "%s", "me");
retcode = SQLConnect(hdbc1, Database, SQL_NTS,
User, SQL_NTS, Pass, SQL_NTS);
If I execute this code as part of a little test program on my 32 bit box, it
connects just fine. Now, to get this code to compile on the 64-bit box, I
have to cast the string variable with (SQLWCHAR *) like this.
retcode = SQLConnect(hdbc1, (SQLWCHAR *)Database, SQL_NTS,
(SQLWCHAR *)User, SQL_NTS, (SQLWCHAR *)Pass, SQL_NTS);
So it compiles, but when I run it, I get an error back. If I take a look
at what (SQLWCHAR *)Database produces, its some unreadable junk. If I turn
on ODBC logging and then after the SQLConnect call take a look at the log,
where I should see the database for instance, I see just random characters.
So, what gives ? Do I have to do something special when working with
SQLWCHAR ?
Thanks for any help anyone can give me.
NickHi
SQL Server 2005 CTP questions to the community newsgroups:
http://communities.microsoft.com/ne...lcid=us
--
Mike Epprecht, Microsoft SQL Server MVP
Zurich, Switzerland
IM: mike@.epprecht.net
MVP Program: http://www.microsoft.com/mvp
Blog: http://www.msmvps.com/epprecht/
"Nick Palmer" <nick@.kcicorp.com> wrote in message
news:11i480ff7qiikf9@.corp.supernews.com...
> Hi all,
> I'm trying to test some 64-bit ODBC stuff and I'm running into a slight
> problem. First, my configuration.
> Windows XP x64
> VS.Net 2005 Beta 2
> SQL Server 2005 CTP
> So, I have built and tested other 64 bit apps so I know that things are
> all
> working, but now I'm trying to test ODBC and I'm running into a problem.
> I
> have the following code :
> SQLCHAR Database[MAXBUFLEN]; // = "Cloud";
> SQLCHAR User[MAXBUFLEN]; // = "fred";
> SQLCHAR Pass[MAXBUFLEN]; // = "me";
> sprintf ((char *)Database, "%s", "Cloud");
> sprintf ((char *)User, "%s", "fred");
> sprintf ((char *)Pass, "%s", "me");
> retcode = SQLConnect(hdbc1, Database, SQL_NTS,
> User, SQL_NTS, Pass, SQL_NTS);
> If I execute this code as part of a little test program on my 32 bit box,
> it
> connects just fine. Now, to get this code to compile on the 64-bit box, I
> have to cast the string variable with (SQLWCHAR *) like this.
> retcode = SQLConnect(hdbc1, (SQLWCHAR *)Database, SQL_NTS,
> (SQLWCHAR *)User, SQL_NTS, (SQLWCHAR *)Pass, SQL_NTS);
> So it compiles, but when I run it, I get an error back. If I take a look
> at what (SQLWCHAR *)Database produces, its some unreadable junk. If I
> turn
> on ODBC logging and then after the SQLConnect call take a look at the log,
> where I should see the database for instance, I see just random
> characters.
> So, what gives ? Do I have to do something special when working with
> SQLWCHAR ?
> Thanks for any help anyone can give me.
> Nick
>
Subscribe to:
Posts (Atom)