Sunday, February 26, 2012

Error with Bit datatype.

I created a table called "test" with only one column of bit data type.

I opened the table using management studio and tried to enter the number "1" It is throwing the below error

Microsoft SQL Server Management Studio

Invalid value for cell (row 1, column 1).

The changed value in this cell was not recognized as valid.
.Net Framework Data Type: Boolean
Error Message: String was not recognized as a valid Boolean.

Type a value appropriate for the data type or press ESC to cancel the change.

OK Help

But when I enter true or false it accepts it as a valid value.

When I execute the query
insert into test values (1)
the insert goes fine.

I opened table via management studio I am seeing "true" "false" as values in the table.
When I do a select in the query analyzer I am getting "1" and "0" as results.

Is this the way it is indented to work?

Santhosh

Here is my take...

When SSMS (written in VS.NET) opens a table, it is using a datagrid -and the datagrid is converting to a boolean because VS.NET doesn't have a bit datatype.

If you open a query window, and execute a SQL query that returns the data from the table, you will see that the data is indeed stored as a bit datatype [ 0/1/NULL ].

|||Arnie,
Thanks for the reply. Doesnt it sound stupid?|||I agree that there could be a bit more information available about how SSMS is working behind the scenes.|||Thats because the different UIs are owned by different groups at MS. They *might* get aligned in the future.

Jens K. Suessmeyer.

http://www.sqlserver2005.de

Error with BigDecimal used as stored procedure parameter

I have the following stored procedure:
create procedure MyNumericTestProc
(
@.param1 numeric(13,2) output
)
as
begin
if (@.param1 is NULL)
begin
set @.param1 = 5.25
end
set @.param1 = @.param1 + 0.01
select @.param1
end
I call it using the MS SQL Server JDBC Driver (SP3):
public class TestMyNumericTestProc
{
public static void main(String[] args)
{
try
{
testMyNumericTestProcUsingJDBC();
}
catch (ClassNotFoundexception e)
{
}
}
public void testMyNumericTestProcUsingJDBC() throws
ClassNotFoundException
{
Class.forName("com.microsoft.jdbc.sqlserver.SQLSer verDriver");
Connection conn = null;
CallableStatement cs = null;
ResultSet rs = null;
try {
conn = DriverManager.getConnection(
"jdbc:microsoft:sqlserver://MySystem\\MySQL2000Server:MyPort;databaseName=My
Database",
"username",
"password");
cs = conn.prepareCall("{call MyNumericTestProc(?)}");
BigDecimal d = new BigDecimal("300.10");
int scale = 3;
System.out.println("Input Value = " + d.toString());
System.out.println("Input Value Scale = " + d.scale());
System.out.println("Input Parameter Scale = " + scale);
// Set a BigDecimal inout parameter and execute call
cs.setObject(1, d, Types.DECIMAL);
cs.registerOutParameter(1, Types.DECIMAL, scale);
boolean csResult = cs.execute();
// Obtain result set
rs = cs.getResultSet();
rs.next();
d = rs.getBigDecimal(1);
System.out.println("ResultSet Value = " + d.toString());
System.out.println("ResultSet Scale = " + d.scale());
// Obtain value of the output parameter as object
Object obj = cs.getObject(1);
System.out.println("Output Param Value (as Object) = " +
((BigDecimal) obj).toString());
System.out.println("Output Param Scale (as Object) = " +
((BigDecimal) obj).scale());
// Obtain value of the output parameter as BigDeciaml
d = cs.getBigDecimal(1);
System.out.println("Output Param Value (as BigDecimal) = " +
d.toString());
System.out.println("Output Param Scale (as BigDecimal) = " +
d.scale());
} catch (SQLException e) {
e.printStackTrace();
} finally {
if (cs != null) {
try { cs.close(); }
catch (SQLException e) {;}
}
if (conn != null) {
try { conn.close(); }
catch (SQLException e) {;}
}
}
}
}
The output of executing this class is as follows:
Input Value = 300.10
Input Value Scale = 2
Input Parameter Scale = 3
ResultSet Value = 30.02
ResultSet Scale = 2
Output Param Value (as Object) = 30.020
Output Param Scale (as Object) = 3
Output Param Value (as BigDecimal) = 30.020
Output Param Scale (as BigDecimal) = 3
Note that I use BigDecimal as the parameter type (which is the recommended
type fr DECIMAL and NUMERIC).
Given the stored procedure, I would have expected the value 300.11 as the
value of the output
parameter and within the result set.
It appears there is an error when the scale of the input value and the scale
specified by the output
parameter do not match, and the input parameter is a BigDecimal.
Is this a problem within the realm of the MS JDBC Driver? If it is not how
do I determine where the
error is occuring?
Try running your code against another driver. If it works, then it's
probably a MS JDBC Driver problem. And it will work.
Alin.
|||I revised the code to use the JDBC/ODBC Driver and re-ran. The output was
what one would expect:
Input Value = 300.10
Input Value Scale = 2
Input Parameter Scale = 3
ResultSet Value = 300.11
ResultSet Scale = 2
Output Param Value (as Object) = 300.110
Output Param Scale (as Object) = 3
Output Param Value (as BigDecimal) = 300.110
Output Param Scale (as BigDecimal) = 3
Now that I have determined this is a problem in the SQL Server JDBC Driver,
where do I file an error/bug report so that Microsoft is aware of the issue
(and possibly an idea of when the problem may be fixed)?
"Alin Sinpalean" <alin@.earthling.net> wrote in message
news:1112824157.261614.198520@.f14g2000cwb.googlegr oups.com...
> Try running your code against another driver. If it works, then it's
> probably a MS JDBC Driver problem. And it will work.
> Alin.
>
|||Fred Foozle wrote:
> Now that I have determined this is a problem in the SQL Server JDBC
Driver,
> where do I file an error/bug report so that Microsoft is aware of the
issue
> (and possibly an idea of when the problem may be fixed)?
Microsoft engineers read this newsgroup, so they should be able to
either direct you to such a place or create a bug report themselves.
But I wouldn't wait for the bug to be fixed; MS only releases a new
JDBC driver version with a new SP and they usually fix a very limited
number of bugs; check the changelogs of their previous versions to see
what I mean.
Alin.
|||Hello Fred,
I have been able to reproduce the issue as reported. I filed a bug on it
and forwarded it to development.
Thanks,
Kamil
Kamil Sykora
Microsoft Developer Support - Web Data
Please reply only to the newsgroups.
This posting is provided "AS IS" with no warranties, and confers no rights.
Are you secure? For information about the Strategic Technology Protection
Program and to order your FREE Security Tool Kit, please visit
http://www.microsoft.com/securXity.
| Reply-To: "Fred Foozle" <ffoozle@.hotmail.com>
| From: "Fred Foozle" <ffoozle@.hotmail.com>
| Subject: Re: Error with BigDecimal used as stored procedure parameter
| Date: Thu, 7 Apr 2005 14:32:46 -0400
|
| I revised the code to use the JDBC/ODBC Driver and re-ran. The output was
| what one would expect:
|
| Input Value = 300.10
| Input Value Scale = 2
| Input Parameter Scale = 3
| ResultSet Value = 300.11
| ResultSet Scale = 2
| Output Param Value (as Object) = 300.110
| Output Param Scale (as Object) = 3
| Output Param Value (as BigDecimal) = 300.110
| Output Param Scale (as BigDecimal) = 3
|
|
| Now that I have determined this is a problem in the SQL Server JDBC
Driver,
| where do I file an error/bug report so that Microsoft is aware of the
issue
| (and possibly an idea of when the problem may be fixed)?
|
|
|
| "Alin Sinpalean" <alin@.earthling.net> wrote in message
| news:1112824157.261614.198520@.f14g2000cwb.googlegr oups.com...
| > Try running your code against another driver. If it works, then it's
| > probably a MS JDBC Driver problem. And it will work.
| >
| > Alin.
| >
|
|
|

Error with basic authentication - Reporting Service Add In for Sharepoint

Maybe someone can help me. I am running the reporting service add in for Sharepoint and we have only Basic Authentication running on our site (it is on SSL). When i try and open a report in sharepoint it errors out on me. When i go back into IIS and set Windows and Basic authentication it works, but it requires me to enter our domain and username. We need to only use Basic so it will not need the domain. Anyone have any suggestions on what i can do to make this work?i'm having this issue, too. help?

Error with basic authentication - Reporting Service Add In for Sharepoint

Maybe someone can help me. I am running the reporting service add in for Sharepoint and we have only Basic Authentication running on our site (it is on SSL). When i try and open a report in sharepoint it errors out on me. When i go back into IIS and set Windows and Basic authentication it works, but it requires me to enter our domain and username. We need to only use Basic so it will not need the domain. Anyone have any suggestions on what i can do to make this work?i'm having this issue, too. help?

Error with attributeKey

Hi everybody,

I have a problem while creating my cube.

In my database i have two tables

Article (ArticleKey, Libelle, ...) articleKey is the pk

FactStock (stockKey, ArticleKey,...) strockKey is the PK and articleKey reference column articleKey in article table. There is integrity constraint between this two columns

In BIDS, when i try to mount my cube with this two lments and others. i have an error : "Erreurs dans le moteur de stockage OLAP : La cl d'attribut est introuvable : Table : dbo_factStocks, Colonne : ArticleKey, Valeur : 47107" . So, I search help on web and I found this page : http://support.microsoft.com/kb/922673/en-us .
So i try element that was written on it. but it doesn't seems to work. If I check existence of an article with the articlekey value of 47107. I found one item. So my question is : Why? If the article exists why i have this error?

Christophe

Hi Christophe,

The page you referenced mentions that: "This behavior may occur when you have not processed the corresponding dimension before you process the cube". Assuming that you have an Article dimension, did you process it and confirm that the article with articlekey value of 47107 appears when you browse the dimension data?

|||

Hi,

Thanks for your reply. You are right. This was the origin of the error. The value wasn't in my dimension when in browse it.

Christophe

error with assebly

On preview custom assebly returns correct value - works OK, but on server i get an error like "#Error". Is it possible to debug report on server?
Thanks.Your custom assembly may not have permissions to do what you want it to do.
You'll need to edit the rssrvpolicy.config file and give it appropriate
permissions. Check
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/RSPROG/htm/rsp_prog_rdl_8mue.asp.
--
Ravi Mumulla (Microsoft)
SQL Server Reporting Services
This posting is provided "AS IS" with no warranties, and confers no rights.
<AG>; "NLB d.d." <AGNLBdd@.discussions.microsoft.com> wrote in message
news:4AE2405E-5DB7-4B48-82B8-4F8846112038@.microsoft.com...
> On preview custom assebly returns correct value - works OK, but on server
i get an error like "#Error". Is it possible to debug report on server?
> Thanks.
>

Error with asp admin/logins on live server

I have created a site using VWDExpress and now that I've finished testing have moved it over to the server which runs SQLServer 2000. Part of the site requires login, so I created the membership using the ASP.net web configuration tool and when testing locally worked well.

Now though that I've copied the web site over, when I try to log in I get the error:

System.Data.SqlClient.SqlException: An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified

Obviously its some sort of configuration issue, but I don't know what.

What do I have to change to make this work from a test machine to a live server?


Thanks

Have you configured your machine.config and web.config on the live server (where you have SQL Server 2000) to work with SQL Server 2000 because by default it looks for SQL Server 2005?

bullpit

|||

bullpit:

Have you configured your machine.config and web.config on the live server (where you have SQL Server 2000) to work with SQL Server 2000 because by default it looks for SQL Server 2005?

bullpit

I ran through the steps listed here http://msdn2.microsoft.com/en-us/library/aa479307.aspx but it gets to a point and says"The easiest way to have your application take advantage or your newly created database is just to replace he connection string value of this localSQLServer setting in your apps web.config". The problem i have is that i dont know what or how to modify?

Now though Im getting the errorSystem.ArgumentException: Invalid value for key 'attachdbfilename' when i try to access the database even though it appears to point to a valid DB file (i.e.

data source=SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true)

thanks for any assistance

|||

Ok...Lets start from the beginning. What my understanding is that your dev server had SQL Server Express edition and your live server has SQL Server 2000. Now, if you have not changed any configuration settings in config files, heres what you have to do. Make sure you have ASPNETDB in SQL Server 2000. If not, locate aspnet_regsql.exe in C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727 and run it.

Now: Locate machine.config.

If Windows Server 2000 is your live server, then it will be located in C:\WINNT\Microsoft.NET\Framework\v2.0.50727\CONFIG

Modify <connectionStrings> tag like this. I commented the default string just in case it gets messed up. Also, make a copy of machine.config before altering it.

<connectionStrings><!-- <add name="LocalSqlServer" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient"/>--><add name="LocalSqlServer" connectionString="YOUR CONNECTION STRING TO SQL SERVER 2000 ASPNETDB"/> </connectionStrings> Then: add this connectionString in your application web.config file:<add name="LocalSqlServer" connectionString="YOUR CONNECTION STRING TO SQL SERVER 2000 ASPNETDB"/>Add the following tags just before your </system.web> tag<membership> <providers><remove name="AspNetSqlMembershipProvider"/> <add name="AspNetSqlMembershipProvider"type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"connectionStringName="LocalSqlServer"enablePasswordRetrieval="false"enablePasswordReset="true"requiresQuestionAndAnswer="true"applicationName="/YOUR APPLICATION NAME" MAKE SURE TO CHANGE THE NAME TO YOUR APPLICATION NAMErequiresUniqueEmail="false"passwordFormat="Hashed"maxInvalidPasswordAttempts="5"minRequiredPasswordLength="7"minRequiredNonalphanumericCharacters="1"passwordAttemptWindow="10"passwordStrengthRegularExpression="" /> </providers></membership> <profile><providers> <add name="AspNetSqlProfileProvider" connectionStringName="LocalSqlServer" applicationName="/"type="System.Web.Profile.SqlProfileProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> </providers></profile>

Try this and let me know if you are getting anywhere.

Good luck...

bullpit

|||

bullpit:

Make sure you have ASPNETDB in SQL Server 2000. If not, locate aspnet_regsql.exe in C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727 and run it.

Seems as though im falling at the first hurdle then! The database isn't in SQLServer at all, because it was created using the ASP web admin tool and resides in the \app_data\ folder of my site. I have copied this to the server but obviously SQLServer doesn't pick it up. If i run the aspnet_regsql tool then its not in the drop-down list of databases to intialise.

Im not sure how to proceed now to get it in SQLServer 2000.

Thanks for all the help btw.

|||

Lets try this:

Just go thru all the default steps of the wizard, leave the value as <default> in dropdown and click next, verify in the last step that the wizard is creating ASPNETDB. click finish. see if this helps.

good luck...

bullpit

|||

bullpit:

Lets try this:

Just go thru all the default steps of the wizard, leave the value as <default> in dropdown and click next, verify in the last step that the wizard is creating ASPNETDB. click finish. see if this helps.

good luck...

bullpit

It Did, Thanks!I now have a blank aspnetdb showing in SQLServer 2000 and another (populated with users and passwords) in the \app_data folder.

How do i go aobut moving from one to the other?

|||

elDeeJay:

bullpit:

Lets try this:

Just go thru all the default steps of the wizard, leave the value as <default> in dropdown and click next, verify in the last step that the wizard is creating ASPNETDB. click finish. see if this helps.

good luck...

bullpit

It Did, Thanks!I now have a blank aspnetdb showing in SQLServer 2000 and another (populated with users and passwords) in the \app_data folder.

How do i go aobut moving from one to the other?

I should have said,

How do i go about moving from one to the other and getting the membership pages created with the ASP web based management tool to recognise this new database location??

Thanks again

|||

You have to configure web.config and machine.config for that. I have already explained that earlier.

bullpit

|||

bullpit:

You have to configure web.config and machine.config for that. I have already explained that earlier.

bullpit

OK, so I deployed my database using this guide (http://weblogs.asp.net/scottgu/archive/2006/12/22/recipe-deploying-a-sql-database-to-a-remote-hosting-environment-part-1.aspx) and now the SQLServer 'sees' the database. I updated my web.config to point to the database on the server and now the login page loads. However, when i go to login, its telling me the login is rejected, for ALL the users, even though i know the login details are correct.

Also, if the data is in the SQLServer database, but the details are encrypted, how do i go about adding new users etc?

I can't belive the process is this coplex. I would have thought it would know the database is in the \app_data\ folder and copying this over would have been sufficient, whatever host it was running on! :(

|||

Well...copying is not the same is copy-paste operation in Windows plateforms. You have to detach the database and then attach it to the new DBMS. Can you paste your web.config please so that I can see what setting you have?

bullpit

|||Certainly (and i really appreciate the time you are giving up to help btw)

123<!--45 Note: As an alternative to hand editing this file you can use the67 web admin tool to configure settings for your application. Use89 the Website->Asp.Net Configuration option in Visual Studio.1011 A full list of settings and comments can be found in1213 machine.config.comments usually located in1415 \Windows\Microsoft.Net\Framework\v2.x\Config1617-->1819<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">2021 <appSettings/>2223 <connectionStrings>2425 <remove name="LocalSqlServer" />2627 <add name="ENQConnectionString" connectionString="Data Source=WEBSERVER;Initial Catalog=ENQUIRIES;Integrated Security=True" providerName="System.Data.SqlClient" />2829 <add name="LocalSqlServer" connectionString="Data Source=WEBSERVER;Initial Catalog=aspnetdb;Integrated Security=True" providerName="System.Data.SqlClient" />3031 </connectionStrings>3233 <system.web>3435 <globalization culture="en-GB" uiCulture="en-GB" />3637 <roleManager enabled="true" />3839 <authentication mode="Forms" />4041 <pages styleSheetTheme="DataWebControls"/>4243<!--4445 Set compilation debug="true" to insert debugging4647 symbols into the compiled page. Because this4849 affects performance, set this value to true only5051 during development.5253 -->5455 <compilation debug="true" defaultLanguage="c#">5657 <assemblies>5859 <add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />6061 <add assembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />6263 <add assembly="System.Web.Extensions.Design, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />6465 </assemblies>6667 </compilation>6869 <customErrors mode="Off"/>7071<!--7273 The <authentication> section enables configuration7475 of the security authentication mode used by7677 ASP.NET to identify an incoming user.7879 -->8081 <!--8283 The <customErrors> section enables configuration8485 of what to do if/when an unhandled error occurs8687 during the execution of a request. Specifically,8889 it enables developers to configure html error pages9091 to be displayed in place of a error stack trace.92939495 <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">9697 <error statusCode="403" redirect="NoAccess.htm" />9899 <error statusCode="404" redirect="FileNotFound.htm" />100101 </customErrors>102103 -->104105 <httpHandlers>106107 <remove verb="*" path="*.asmx"/>108109 <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>110111 <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>112113 <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364E35" validate="false"/>114115 </httpHandlers>116 <httpModules>117 </httpModules>118<membership>119120<providers>121122<remove name="AspNetSqlMembershipProvider"/>123124<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"125126connectionStringName="LocalSqlServer" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true"127128applicationName="/ETS" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="7"129130minRequiredNonalphanumericCharacters="1" passwordAttemptWindow="10" passwordStrengthRegularExpression="" />131132</providers>133134</membership>135136<profile>137138<providers>139140<add name="AspNetSqlProfileProvider" connectionStringName="LocalSqlServer" applicationName="/" type="System.Web.Profile.SqlProfileProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />141142</providers>143144</profile>145146</system.web>147148</configuration>149
|||

You are welcome.

Modify the authentication and authorization tags to something like this:

<authentication mode="Forms"><forms name="appNameAuth" path="/" loginUrl="Login.aspx" protection="All" timeout="999999"> </forms></authentication><authorization> <deny users="?" /> </authorization>
good luck.
bullpit

|||

bullpit:

You are welcome.

Modify the authentication and authorization tags to something like this:

<authentication mode="Forms">
<forms name="appNameAuth" path="/" loginUrl="Login.aspx" protection="All" timeout="999999">
</forms>
</authentication>
<authorization>
<deny users="?" />
</authorization>
good luck.
bullpit

Thanks, replaced <authentication mode="Forms" /> with the code above but the exact same problem persists.

|||

Now I am not sure what the problem is. For creating users in your database, you can use the ASP.NET configuration tool to create and manage users, roles and other things. For me, for some reason, Create User option does not work, everything else works though. So what I do is add a temporary web page to my application with just a CreateUserWizard control on it, create a user, and then remove it from the project. For everything else, theres Master Card (ASP.NET Tool)

bullpit