我需要一种方法来轻松导出,然后将MySQL表中的数据从远程服务器导入我的家庭服务器.我没有直接访问服务器,也没有安装phpMyAdmin等实用程序.但是,我确实能够将PHP脚本放在服务器上.
我如何获得数据?
我问这个问题纯粹是为了记录下去的方式
我想问的问题是:
是从一个可抽象的类,甚至是一个好的东西,从一个抽象类内部下来继承树(即,朝着一个更特殊的类),或者它总是一个可怜的选择,有更好的选择?
现在,举例说明为什么我认为它可以用得很好.
我最近在C#中使用BitTorrent协议实现了Bencoding.一个简单的问题,如何表示数据.我选择这样做,
我们有一个abstract BItem
类,它提供了一些基本功能,包括static BItem Decode(string)
用于将Bencoded字符串解码为必要结构的类.
还有四个派生类BString
,BInteger
,BList
和BDictionary
,表示待编码的四个不同的数据类型.现在,这是棘手的部分.BList
并且分别BDictionary
具有this[int]
和this[string]
访问器以允许访问这些数据类型的类似阵列的质量.
潜在的可怕部分现在即将到来:
BDictionary torrent = (BDictionary) BItem.DecodeFile("my.torrent");
int filelength = (BInteger)((BDictionary)((BList)((BDictionary)
torrent["info"])["files"])[0])["length"];
Run Code Online (Sandbox Code Playgroud)
嗯,你得到的照片......哎呀,这对眼睛很难,更不用说大脑了.所以,我在抽象类中引入了一些额外的东西:
public BItem this[int index]
{
get { return ((BList)this)[index]; }
}
public BItem this[string index]
{
get { return ((BDictionary)this)[index]; }
}
Run Code Online (Sandbox Code Playgroud)
现在我们可以将旧代码重写为:
BDictionary torrent = (BDictionary)BItem.DecodeFile("my.torrent");
int filelength = (BInteger)torrent["info"]["files"][0]["length"];
Run Code Online (Sandbox Code Playgroud)
哇,嘿presto,更多可读代码.但是,我是否只是将我的灵魂的一部分用于将子类的知识隐含在抽象类中?
编辑:为了回应一些答案,你完全偏离了这个特定的问题,因为结构是可变的,例如我的例子torrent["info"]["files"][0]["length"]
是有效的,但同样如此 …
每当用户在我的Web应用程序中发布包含<
或>
在页面中的内容时,我都会抛出此异常.
我不想进入关于抛出异常或崩溃整个Web应用程序的聪明性的讨论,因为有人在文本框中输入了一个字符,但我正在寻找一种优雅的方法来处理这个问题.
捕获异常并显示
发生错误请返回并重新输入整个表单,但这次请不要使用<
对我来说似乎不够专业.
禁用post validation(validateRequest="false"
)肯定会避免此错误,但它会使页面容易受到许多攻击.
理想情况:当发回包含HTML限制字符的回发时,Form集合中的已发布值将自动进行HTML编码.所以.Text
我的文本框的属性将是something & lt; html & gt;
有没有办法可以从处理程序中执行此操作?
我有一些xml,其中一些元素值是unicode字符.是否可以用ANSI编码表示?
例如
<?xml version="1.0" encoding="utf-8"?>
<xml>
<value>?</value>
</xml>
Run Code Online (Sandbox Code Playgroud)
至
<?xml version="1.0" encoding="Windows-1252"?>
<xml>
<value>殘</value>
</xml>
Run Code Online (Sandbox Code Playgroud)
我反序列化XML,然后尝试使用指定默认编码的XmlTextWriter序列化它(默认为Windows-1252).所有unicode字符最终都是问号.我正在使用VS 2008,C#3.5
难道你写使用.NET语言消费的桌面应用程序?如果是这样的类型?
我的印象是,大多数消费者桌面应用程序仍然是C,C++等本机编译的应用程序.
虽然.NET语言越来越受欢迎,但是这些新的应用程序是否会突破企业和Web领域,成为高街消费者应用程序?
例如,现在看看你的桌面?有多少应用程序是用.NET语言编写的,Firefox?微软办公软件?雷鸟?iTunes的?Microsoft Visual Studio?
我公司开发高端CAD/CAE应用程序,我们利用新技术,但我们的核心开发仍然使用C++完成.
我需要根据XSD验证传入的文件.两者都将在服务器文件系统上.
我看过了dbms_xmlschema
,但是有问题让它发挥作用.
使用Java可以更容易吗?
我可以在数据库中放入的最简单的类是什么?
这是一个简单的例子:
DECLARE
v_schema_url VARCHAR2(200) := 'http://www.example.com/schema.xsd';
v_blob bLOB;
v_clob CLOB;
v_xml XMLTYPE;
BEGIN
begin
dbms_xmlschema.deleteschema(v_schema_url);
exception
when others then
null;
end;
dbms_xmlschema.registerSchema(schemaURL => v_schema_url,
schemaDoc => '
<xs:schema targetNamespace="http://www.example.com"
xmlns:ns="http://www.example.com"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified" attributeFormDefault="unqualified" version="3.0">
<xs:element name="something" type="xs:string"/>
</xs:schema>',
local => TRUE);
v_xml := XMLTYPE.createxml('<something xmlns="http://www.xx.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.example.com/schema.xsd">
data
</something>');
IF v_xml.isschemavalid(v_schema_url) = 1 THEN
dbms_output.put_line('valid');
ELSE
dbms_output.put_line('not valid');
END IF;
END;
Run Code Online (Sandbox Code Playgroud)
这会生成以下错误:
ORA-01031: insufficient privileges
ORA-06512: at "XDB.DBMS_XDBZ0", line 275
ORA-06512: at "XDB.DBMS_XDBZ", line …
Run Code Online (Sandbox Code Playgroud) 给定以下JSON日期表示:
"\/Date(1221644506800-0700)\/"
Run Code Online (Sandbox Code Playgroud)
你如何将它反序列化为它的JavaScript日期类型表单?
我尝试过使用MS AJAX JavaScrioptSerializer,如下所示:
Sys.Serialization.JavaScriptSerializer.deserialize("\/Date(1221644506800-0700)\/")
Run Code Online (Sandbox Code Playgroud)
但是,我得到的只是文字字符串日期.
我有以下形式的版本号:
version.release.modification
其中版本,发布和修改是一组数字或'*'通配符.此外,这些数字(以及任何前面的数字)中的任何一个都可能丢失.
所以以下是有效的并解析为:
1.23.456 = version 1, release 23, modification 456
1.23 = version 1, release 23, any modification
1.23.* = version 1, release 23, any modification
1.* = version 1, any release, any modification
1 = version 1, any release, any modification
* = any version, any release, any modification
Run Code Online (Sandbox Code Playgroud)
但这些都无效:
*.12
*123.1
12*
12.*.34
Run Code Online (Sandbox Code Playgroud)
任何人都可以为我提供一个不太复杂的正则表达式来验证和检索版本,版本和修改号码吗?
我已经创建了一个WCF服务并且正在使用netMsmqBinding绑定.
这是一个简单的服务,它将Dto传递给我的服务方法,并且不期望响应.该消息放在MSMQ中,一旦被选中插入数据库.
确保没有数据丢失的最佳方法是什么.
我尝试了以下两种方法:
抛出一个例外
这会将消息放入死信队列中以供手动阅读.我的工作开始时我可以处理这个
在绑定上设置receiveRetryCount ="3"
经过3次尝试 - 即时发生,这似乎将消息留在队列中,但是我的服务出错了.重新启动我的服务会重复此过程.
理想情况下,我想做以下事项:
尝试处理消息
我能做到吗?如果是这样的话?你能否指出我有关如何最好地利用WCF和MSMQ为我的给定sceneria的任何好文章.
任何帮助将非常感激.谢谢!
一些额外的信息
我在Windows XP和Windows Server 2003上使用MSMQ 3.0.不幸的是,我不能使用针对MSMQ 4.0和Vista/2008的内置有害消息支持.
.net ×2
asp.net ×2
c# ×2
xml ×2
ajax ×1
asp.net-mvc ×1
bittorrent ×1
character ×1
date ×1
desktop ×1
export ×1
html-encode ×1
inheritance ×1
json ×1
msmq ×1
mysql ×1
native ×1
openid ×1
ora-06512 ×1
oracle ×1
php ×1
regex ×1
request.form ×1
string ×1
unicode ×1
validation ×1
versioning ×1
wcf ×1